clean up & small fixes
This commit is contained in:
@@ -93,7 +93,7 @@
|
|||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"csstype": "^3.1.2",
|
"csstype": "^3.1.2",
|
||||||
"encoding": "^0.1.13",
|
"encoding": "^0.1.13",
|
||||||
"eslint": "^8.47.0",
|
"eslint": "^8.48.0",
|
||||||
"eslint-config-prettier": "^9.0.0",
|
"eslint-config-prettier": "^9.0.0",
|
||||||
"eslint-plugin-jsx-a11y": "^6.7.1",
|
"eslint-plugin-jsx-a11y": "^6.7.1",
|
||||||
"eslint-plugin-react": "^7.33.2",
|
"eslint-plugin-react": "^7.33.2",
|
||||||
|
|||||||
255
pnpm-lock.yaml
generated
255
pnpm-lock.yaml
generated
@@ -203,10 +203,10 @@ devDependencies:
|
|||||||
version: 5.5.7
|
version: 5.5.7
|
||||||
'@typescript-eslint/eslint-plugin':
|
'@typescript-eslint/eslint-plugin':
|
||||||
specifier: ^6.4.1
|
specifier: ^6.4.1
|
||||||
version: 6.4.1(@typescript-eslint/parser@6.4.1)(eslint@8.47.0)(typescript@5.2.2)
|
version: 6.4.1(@typescript-eslint/parser@6.4.1)(eslint@8.48.0)(typescript@5.2.2)
|
||||||
'@typescript-eslint/parser':
|
'@typescript-eslint/parser':
|
||||||
specifier: ^6.4.1
|
specifier: ^6.4.1
|
||||||
version: 6.4.1(eslint@8.47.0)(typescript@5.2.2)
|
version: 6.4.1(eslint@8.48.0)(typescript@5.2.2)
|
||||||
'@vitejs/plugin-react-swc':
|
'@vitejs/plugin-react-swc':
|
||||||
specifier: ^3.3.2
|
specifier: ^3.3.2
|
||||||
version: 3.3.2(vite@4.4.9)
|
version: 3.3.2(vite@4.4.9)
|
||||||
@@ -226,20 +226,20 @@ devDependencies:
|
|||||||
specifier: ^0.1.13
|
specifier: ^0.1.13
|
||||||
version: 0.1.13
|
version: 0.1.13
|
||||||
eslint:
|
eslint:
|
||||||
specifier: ^8.47.0
|
specifier: ^8.48.0
|
||||||
version: 8.47.0
|
version: 8.48.0
|
||||||
eslint-config-prettier:
|
eslint-config-prettier:
|
||||||
specifier: ^9.0.0
|
specifier: ^9.0.0
|
||||||
version: 9.0.0(eslint@8.47.0)
|
version: 9.0.0(eslint@8.48.0)
|
||||||
eslint-plugin-jsx-a11y:
|
eslint-plugin-jsx-a11y:
|
||||||
specifier: ^6.7.1
|
specifier: ^6.7.1
|
||||||
version: 6.7.1(eslint@8.47.0)
|
version: 6.7.1(eslint@8.48.0)
|
||||||
eslint-plugin-react:
|
eslint-plugin-react:
|
||||||
specifier: ^7.33.2
|
specifier: ^7.33.2
|
||||||
version: 7.33.2(eslint@8.47.0)
|
version: 7.33.2(eslint@8.48.0)
|
||||||
eslint-plugin-simple-import-sort:
|
eslint-plugin-simple-import-sort:
|
||||||
specifier: ^10.0.0
|
specifier: ^10.0.0
|
||||||
version: 10.0.0(eslint@8.47.0)
|
version: 10.0.0(eslint@8.48.0)
|
||||||
husky:
|
husky:
|
||||||
specifier: ^8.0.3
|
specifier: ^8.0.3
|
||||||
version: 8.0.3
|
version: 8.0.3
|
||||||
@@ -811,17 +811,17 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@eslint-community/eslint-utils@4.4.0(eslint@8.47.0):
|
/@eslint-community/eslint-utils@4.4.0(eslint@8.48.0):
|
||||||
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
|
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
|
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 8.47.0
|
eslint: 8.48.0
|
||||||
eslint-visitor-keys: 3.4.3
|
eslint-visitor-keys: 3.4.3
|
||||||
|
|
||||||
/@eslint-community/regexpp@4.7.0:
|
/@eslint-community/regexpp@4.8.0:
|
||||||
resolution: {integrity: sha512-+HencqxU7CFJnQb7IKtuNBqS6Yx3Tz4kOL8BJXo+JyeiBm5MEX6pO8onXDkjrkCRlfYXS1Axro15ZjVFe9YgsA==}
|
resolution: {integrity: sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==}
|
||||||
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
|
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
|
||||||
|
|
||||||
/@eslint/eslintrc@2.1.2:
|
/@eslint/eslintrc@2.1.2:
|
||||||
@@ -840,8 +840,8 @@ packages:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
/@eslint/js@8.47.0:
|
/@eslint/js@8.48.0:
|
||||||
resolution: {integrity: sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==}
|
resolution: {integrity: sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
|
|
||||||
/@floating-ui/core@1.4.1:
|
/@floating-ui/core@1.4.1:
|
||||||
@@ -991,15 +991,15 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@noble/hashes': 1.3.2
|
'@noble/hashes': 1.3.2
|
||||||
'@noble/secp256k1': 2.0.0
|
'@noble/secp256k1': 2.0.0
|
||||||
'@scure/base': 1.1.1
|
'@scure/base': 1.1.2
|
||||||
'@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.47.0)(typescript@5.2.2)
|
'@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.48.0)(typescript@5.2.2)
|
||||||
'@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@5.2.2)
|
'@typescript-eslint/parser': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
esbuild: 0.17.19
|
esbuild: 0.17.19
|
||||||
esbuild-plugin-alias: 0.2.1
|
esbuild-plugin-alias: 0.2.1
|
||||||
eslint: 8.47.0
|
eslint: 8.48.0
|
||||||
eslint-config-prettier: 8.10.0(eslint@8.47.0)
|
eslint-config-prettier: 8.10.0(eslint@8.48.0)
|
||||||
eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint@8.47.0)
|
eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint@8.48.0)
|
||||||
esm-loader-typescript: 1.0.5
|
esm-loader-typescript: 1.0.5
|
||||||
eventemitter3: 5.0.1
|
eventemitter3: 5.0.1
|
||||||
light-bolt11-decoder: 3.0.0
|
light-bolt11-decoder: 3.0.0
|
||||||
@@ -1717,6 +1717,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==}
|
resolution: {integrity: sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/@scure/base@1.1.2:
|
||||||
|
resolution: {integrity: sha512-sSCrnIdaUZQHhBxZThMuk7Wm1TWzMD3uJNdGgx3JS23xSqevu0tAOsg8k66nL3R2NwQe65AI9GgqpPOgZys/eA==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@scure/bip32@1.3.1:
|
/@scure/bip32@1.3.1:
|
||||||
resolution: {integrity: sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A==}
|
resolution: {integrity: sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -1743,8 +1747,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
|
resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@swc/core-darwin-arm64@1.3.78:
|
/@swc/core-darwin-arm64@1.3.80:
|
||||||
resolution: {integrity: sha512-596KRua/d5Gx1buHKKchSyHuwoIL4S1BRD/wCvYNLNZ3xOzcuBBmXOjrDVigKi1ztNDeS07p30RO5UyYur0XAA==}
|
resolution: {integrity: sha512-rhoFTcQMUGfO7IkfOnopPSF6O0/aVJ58B7KueIKbvrMe6YvSfFj9QfObELFjYCcrJZTvUWBhig0QrsfPIiUphA==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
@@ -1752,8 +1756,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@swc/core-darwin-x64@1.3.78:
|
/@swc/core-darwin-x64@1.3.80:
|
||||||
resolution: {integrity: sha512-w0RsD1onQAj0vuLAoOVi48HgnW6D6oBEIZP17l0HYejCDBZ+FRZLjml7wgNAWMqHcd2qNRqgtZ+v7aLza2JtBQ==}
|
resolution: {integrity: sha512-0dOLedFpVXe+ugkKHXsqSxMKqvQYfFtibWbrZ7j8wOaErzSGPr0VpyWvepNVb9s046725kPXSw+fsGhqZR8wrw==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
@@ -1761,8 +1765,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@swc/core-linux-arm-gnueabihf@1.3.78:
|
/@swc/core-linux-arm-gnueabihf@1.3.80:
|
||||||
resolution: {integrity: sha512-v1CpRn+H6fha1WIqmdRvJM40pFdjUHrGfhf4Ygci72nlAU41l5XimN8Iwkm8FgIwf2wnv0lLzedSM4IHvpq/yA==}
|
resolution: {integrity: sha512-QIjwP3PtDeHBDkwF6+ZZqdUsqAhORbMpxrw2jq3mHe4lQrxBttSFTq018vlMRo2mFEorOvXdadzaD9m+NymPrw==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@@ -1770,8 +1774,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@swc/core-linux-arm64-gnu@1.3.78:
|
/@swc/core-linux-arm64-gnu@1.3.80:
|
||||||
resolution: {integrity: sha512-Sis17dz9joJRFVvR/gteOZSUNrrrioo81RQzani0Zr5ZZOfWLMTB9DA+0MVlfnVa2taYcsJHJZFoAv9JkLwbzg==}
|
resolution: {integrity: sha512-cg8WriIueab58ZwkzXmIACnjSzFLzOBwxlC9k65gPXMNgCjab2YbqEYvAbjBqneuqaao02gW6tad2uhjgYaExw==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@@ -1779,8 +1783,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@swc/core-linux-arm64-musl@1.3.78:
|
/@swc/core-linux-arm64-musl@1.3.80:
|
||||||
resolution: {integrity: sha512-E5F8/qp+QupnfBnsP4vN1PKyCmAHYHDG1GMyPE/zLFOUYLgw+jK4C9rfyLBR0o2bWo1ay2WCIjusBZD9XHGOSA==}
|
resolution: {integrity: sha512-AhdCQ7QKx5mWrtpaOA1mFRiWWvuiiUtspvo0QSpspDetRKTND1rlf/3UB5+gp0kCeCNUTsVmJWU7fIA9ICZtXA==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@@ -1788,8 +1792,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@swc/core-linux-x64-gnu@1.3.78:
|
/@swc/core-linux-x64-gnu@1.3.80:
|
||||||
resolution: {integrity: sha512-iDxa+RknnTQlyy+WfPor1FM6y44ERNI2E0xiUV6gV6uPwegCngi8LFC+E7IvP6+p+yXtAkesunAaiZ8nn0s+rw==}
|
resolution: {integrity: sha512-+2e5oni1vOrLIjM5Q2/GIzK/uS2YEtuJqnjPvCK8SciRJsSl8OgVsRvyCDbmKeZNtJ2Q+o/O2AQ2w1qpAJG6jg==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@@ -1797,8 +1801,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@swc/core-linux-x64-musl@1.3.78:
|
/@swc/core-linux-x64-musl@1.3.80:
|
||||||
resolution: {integrity: sha512-dWtIYUFL5sMTE2UKshkXTusHcK8+zAhhGzvqWq1wJS45pqTlrAbzpyqB780fle880x3A6DMitWmsAFARdNzpuQ==}
|
resolution: {integrity: sha512-8OK9IlI1zpWOm7vIp1iXmZSEzLAwFpqhsGSEhxPavpOx2m54kLFdPcw/Uv3n461f6TCtszIxkGq1kSqBUdfUBA==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@@ -1806,8 +1810,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@swc/core-win32-arm64-msvc@1.3.78:
|
/@swc/core-win32-arm64-msvc@1.3.80:
|
||||||
resolution: {integrity: sha512-CXFaGEc2M9Su3UoUMC8AnzKb9g+GwPxXfakLWZsjwS448h6jcreExq3nwtBNdVGzQ26xqeVLMFfb1l/oK99Hwg==}
|
resolution: {integrity: sha512-RKhatwiAGlffnF6z2Mm3Ddid0v3KB+uf5m/Gc7N9zO/EUAV0PnHRuYuZSGyqodHmGFC+mK8YrCooFCEmHL9n+w==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
@@ -1815,8 +1819,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@swc/core-win32-ia32-msvc@1.3.78:
|
/@swc/core-win32-ia32-msvc@1.3.80:
|
||||||
resolution: {integrity: sha512-FaH1jwWnJpWkdImpMoiZpMg9oy9UUyZwltzN7hFwjR48e3Li82cRFb+9PifIBHCUSBM+CrrsJXbHP213IMVAyw==}
|
resolution: {integrity: sha512-3jiiZzU/kaw7k4zUp1yMq1QiUe4wJVtCEXIhf+fKuBsIwm7rdvyK/+PIx5KHnZy4TGQnYczKBRhJA5nuBcrUCQ==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
cpu: [ia32]
|
cpu: [ia32]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
@@ -1824,8 +1828,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@swc/core-win32-x64-msvc@1.3.78:
|
/@swc/core-win32-x64-msvc@1.3.80:
|
||||||
resolution: {integrity: sha512-oYxa+tPdhlx1aH14AIoF6kvVjo49tEOW0drNqoEaVHufvgH0y43QU2Jum3b2+xXztmMRtzK2CSN3GPOAXDKKKg==}
|
resolution: {integrity: sha512-2eZtIoIWQBWqykfms92Zd37lveYOBWQTZjdooBGlsLHtcoQLkNpf1NXmR6TKY0yy8q6Yl3OhPvY+izjmO08MSg==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
@@ -1833,8 +1837,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@swc/core@1.3.78:
|
/@swc/core@1.3.80:
|
||||||
resolution: {integrity: sha512-y6DQP571v7fbUUY7nz5G4lNIRGofuO48K5pGhD9VnuOCTuptfooCdi8wnigIrIhM/M4zQ53m/YCMDCbOtDgEww==}
|
resolution: {integrity: sha512-yX2xV5I/lYswHHR+44TPvzBgq3/Y8N1YWpTQADYuvSiX3Jxyvemk5Jpx3rRtigYb8WBkWAAf2i5d5ZJ2M7hhgw==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -1842,17 +1846,23 @@ packages:
|
|||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
'@swc/helpers':
|
'@swc/helpers':
|
||||||
optional: true
|
optional: true
|
||||||
|
dependencies:
|
||||||
|
'@swc/types': 0.1.4
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@swc/core-darwin-arm64': 1.3.78
|
'@swc/core-darwin-arm64': 1.3.80
|
||||||
'@swc/core-darwin-x64': 1.3.78
|
'@swc/core-darwin-x64': 1.3.80
|
||||||
'@swc/core-linux-arm-gnueabihf': 1.3.78
|
'@swc/core-linux-arm-gnueabihf': 1.3.80
|
||||||
'@swc/core-linux-arm64-gnu': 1.3.78
|
'@swc/core-linux-arm64-gnu': 1.3.80
|
||||||
'@swc/core-linux-arm64-musl': 1.3.78
|
'@swc/core-linux-arm64-musl': 1.3.80
|
||||||
'@swc/core-linux-x64-gnu': 1.3.78
|
'@swc/core-linux-x64-gnu': 1.3.80
|
||||||
'@swc/core-linux-x64-musl': 1.3.78
|
'@swc/core-linux-x64-musl': 1.3.80
|
||||||
'@swc/core-win32-arm64-msvc': 1.3.78
|
'@swc/core-win32-arm64-msvc': 1.3.80
|
||||||
'@swc/core-win32-ia32-msvc': 1.3.78
|
'@swc/core-win32-ia32-msvc': 1.3.80
|
||||||
'@swc/core-win32-x64-msvc': 1.3.78
|
'@swc/core-win32-x64-msvc': 1.3.80
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/@swc/types@0.1.4:
|
||||||
|
resolution: {integrity: sha512-z/G02d+59gyyUb7KYhKi9jOhicek6QD2oMaotUyG+lUkybpXoV49dY9bj7Ah5Q+y7knK2jU67UTX9FyfGzaxQg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@tailwindcss/typography@0.5.9(tailwindcss@3.3.3):
|
/@tailwindcss/typography@0.5.9(tailwindcss@3.3.3):
|
||||||
@@ -2424,7 +2434,7 @@ packages:
|
|||||||
resolution: {integrity: sha512-W8F4eoTIvzXeNrT3JroQPimZLXnlJA8smYygHZUKFPVoYwgs/OhJkA1VBhL3iSs57OQkuINqHlY4SmMT5wtnJg==}
|
resolution: {integrity: sha512-W8F4eoTIvzXeNrT3JroQPimZLXnlJA8smYygHZUKFPVoYwgs/OhJkA1VBhL3iSs57OQkuINqHlY4SmMT5wtnJg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.47.0)(typescript@5.2.2):
|
/@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.48.0)(typescript@5.2.2):
|
||||||
resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==}
|
resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -2435,13 +2445,13 @@ packages:
|
|||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/regexpp': 4.7.0
|
'@eslint-community/regexpp': 4.8.0
|
||||||
'@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@5.2.2)
|
'@typescript-eslint/parser': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
|
||||||
'@typescript-eslint/scope-manager': 5.62.0
|
'@typescript-eslint/scope-manager': 5.62.0
|
||||||
'@typescript-eslint/type-utils': 5.62.0(eslint@8.47.0)(typescript@5.2.2)
|
'@typescript-eslint/type-utils': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
|
||||||
'@typescript-eslint/utils': 5.62.0(eslint@8.47.0)(typescript@5.2.2)
|
'@typescript-eslint/utils': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.47.0
|
eslint: 8.48.0
|
||||||
graphemer: 1.4.0
|
graphemer: 1.4.0
|
||||||
ignore: 5.2.4
|
ignore: 5.2.4
|
||||||
natural-compare-lite: 1.4.0
|
natural-compare-lite: 1.4.0
|
||||||
@@ -2452,7 +2462,7 @@ packages:
|
|||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@typescript-eslint/eslint-plugin@6.4.1(@typescript-eslint/parser@6.4.1)(eslint@8.47.0)(typescript@5.2.2):
|
/@typescript-eslint/eslint-plugin@6.4.1(@typescript-eslint/parser@6.4.1)(eslint@8.48.0)(typescript@5.2.2):
|
||||||
resolution: {integrity: sha512-3F5PtBzUW0dYlq77Lcqo13fv+58KDwUib3BddilE8ajPJT+faGgxmI9Sw+I8ZS22BYwoir9ZhNXcLi+S+I2bkw==}
|
resolution: {integrity: sha512-3F5PtBzUW0dYlq77Lcqo13fv+58KDwUib3BddilE8ajPJT+faGgxmI9Sw+I8ZS22BYwoir9ZhNXcLi+S+I2bkw==}
|
||||||
engines: {node: ^16.0.0 || >=18.0.0}
|
engines: {node: ^16.0.0 || >=18.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -2463,14 +2473,14 @@ packages:
|
|||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/regexpp': 4.7.0
|
'@eslint-community/regexpp': 4.8.0
|
||||||
'@typescript-eslint/parser': 6.4.1(eslint@8.47.0)(typescript@5.2.2)
|
'@typescript-eslint/parser': 6.4.1(eslint@8.48.0)(typescript@5.2.2)
|
||||||
'@typescript-eslint/scope-manager': 6.4.1
|
'@typescript-eslint/scope-manager': 6.4.1
|
||||||
'@typescript-eslint/type-utils': 6.4.1(eslint@8.47.0)(typescript@5.2.2)
|
'@typescript-eslint/type-utils': 6.4.1(eslint@8.48.0)(typescript@5.2.2)
|
||||||
'@typescript-eslint/utils': 6.4.1(eslint@8.47.0)(typescript@5.2.2)
|
'@typescript-eslint/utils': 6.4.1(eslint@8.48.0)(typescript@5.2.2)
|
||||||
'@typescript-eslint/visitor-keys': 6.4.1
|
'@typescript-eslint/visitor-keys': 6.4.1
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.47.0
|
eslint: 8.48.0
|
||||||
graphemer: 1.4.0
|
graphemer: 1.4.0
|
||||||
ignore: 5.2.4
|
ignore: 5.2.4
|
||||||
natural-compare: 1.4.0
|
natural-compare: 1.4.0
|
||||||
@@ -2481,7 +2491,7 @@ packages:
|
|||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/parser@5.62.0(eslint@8.47.0)(typescript@5.2.2):
|
/@typescript-eslint/parser@5.62.0(eslint@8.48.0)(typescript@5.2.2):
|
||||||
resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==}
|
resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -2495,13 +2505,13 @@ packages:
|
|||||||
'@typescript-eslint/types': 5.62.0
|
'@typescript-eslint/types': 5.62.0
|
||||||
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2)
|
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2)
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.47.0
|
eslint: 8.48.0
|
||||||
typescript: 5.2.2
|
typescript: 5.2.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2):
|
/@typescript-eslint/parser@6.4.1(eslint@8.48.0)(typescript@5.2.2):
|
||||||
resolution: {integrity: sha512-610G6KHymg9V7EqOaNBMtD1GgpAmGROsmfHJPXNLCU9bfIuLrkdOygltK784F6Crboyd5tBFayPB7Sf0McrQwg==}
|
resolution: {integrity: sha512-610G6KHymg9V7EqOaNBMtD1GgpAmGROsmfHJPXNLCU9bfIuLrkdOygltK784F6Crboyd5tBFayPB7Sf0McrQwg==}
|
||||||
engines: {node: ^16.0.0 || >=18.0.0}
|
engines: {node: ^16.0.0 || >=18.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -2516,7 +2526,7 @@ packages:
|
|||||||
'@typescript-eslint/typescript-estree': 6.4.1(typescript@5.2.2)
|
'@typescript-eslint/typescript-estree': 6.4.1(typescript@5.2.2)
|
||||||
'@typescript-eslint/visitor-keys': 6.4.1
|
'@typescript-eslint/visitor-keys': 6.4.1
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.47.0
|
eslint: 8.48.0
|
||||||
typescript: 5.2.2
|
typescript: 5.2.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
@@ -2538,7 +2548,7 @@ packages:
|
|||||||
'@typescript-eslint/visitor-keys': 6.4.1
|
'@typescript-eslint/visitor-keys': 6.4.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/type-utils@5.62.0(eslint@8.47.0)(typescript@5.2.2):
|
/@typescript-eslint/type-utils@5.62.0(eslint@8.48.0)(typescript@5.2.2):
|
||||||
resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==}
|
resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -2549,16 +2559,16 @@ packages:
|
|||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2)
|
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2)
|
||||||
'@typescript-eslint/utils': 5.62.0(eslint@8.47.0)(typescript@5.2.2)
|
'@typescript-eslint/utils': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.47.0
|
eslint: 8.48.0
|
||||||
tsutils: 3.21.0(typescript@5.2.2)
|
tsutils: 3.21.0(typescript@5.2.2)
|
||||||
typescript: 5.2.2
|
typescript: 5.2.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@typescript-eslint/type-utils@6.4.1(eslint@8.47.0)(typescript@5.2.2):
|
/@typescript-eslint/type-utils@6.4.1(eslint@8.48.0)(typescript@5.2.2):
|
||||||
resolution: {integrity: sha512-7ON8M8NXh73SGZ5XvIqWHjgX2f+vvaOarNliGhjrJnv1vdjG0LVIz+ToYfPirOoBi56jxAKLfsLm40+RvxVVXA==}
|
resolution: {integrity: sha512-7ON8M8NXh73SGZ5XvIqWHjgX2f+vvaOarNliGhjrJnv1vdjG0LVIz+ToYfPirOoBi56jxAKLfsLm40+RvxVVXA==}
|
||||||
engines: {node: ^16.0.0 || >=18.0.0}
|
engines: {node: ^16.0.0 || >=18.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -2569,9 +2579,9 @@ packages:
|
|||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/typescript-estree': 6.4.1(typescript@5.2.2)
|
'@typescript-eslint/typescript-estree': 6.4.1(typescript@5.2.2)
|
||||||
'@typescript-eslint/utils': 6.4.1(eslint@8.47.0)(typescript@5.2.2)
|
'@typescript-eslint/utils': 6.4.1(eslint@8.48.0)(typescript@5.2.2)
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.47.0
|
eslint: 8.48.0
|
||||||
ts-api-utils: 1.0.2(typescript@5.2.2)
|
ts-api-utils: 1.0.2(typescript@5.2.2)
|
||||||
typescript: 5.2.2
|
typescript: 5.2.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
@@ -2630,19 +2640,19 @@ packages:
|
|||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/utils@5.62.0(eslint@8.47.0)(typescript@5.2.2):
|
/@typescript-eslint/utils@5.62.0(eslint@8.48.0)(typescript@5.2.2):
|
||||||
resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
|
resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
|
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0)
|
'@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0)
|
||||||
'@types/json-schema': 7.0.12
|
'@types/json-schema': 7.0.12
|
||||||
'@types/semver': 7.5.0
|
'@types/semver': 7.5.0
|
||||||
'@typescript-eslint/scope-manager': 5.62.0
|
'@typescript-eslint/scope-manager': 5.62.0
|
||||||
'@typescript-eslint/types': 5.62.0
|
'@typescript-eslint/types': 5.62.0
|
||||||
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2)
|
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2)
|
||||||
eslint: 8.47.0
|
eslint: 8.48.0
|
||||||
eslint-scope: 5.1.1
|
eslint-scope: 5.1.1
|
||||||
semver: 7.5.4
|
semver: 7.5.4
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
@@ -2650,19 +2660,19 @@ packages:
|
|||||||
- typescript
|
- typescript
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@typescript-eslint/utils@6.4.1(eslint@8.47.0)(typescript@5.2.2):
|
/@typescript-eslint/utils@6.4.1(eslint@8.48.0)(typescript@5.2.2):
|
||||||
resolution: {integrity: sha512-F/6r2RieNeorU0zhqZNv89s9bDZSovv3bZQpUNOmmQK1L80/cV4KEu95YUJWi75u5PhboFoKUJBnZ4FQcoqhDw==}
|
resolution: {integrity: sha512-F/6r2RieNeorU0zhqZNv89s9bDZSovv3bZQpUNOmmQK1L80/cV4KEu95YUJWi75u5PhboFoKUJBnZ4FQcoqhDw==}
|
||||||
engines: {node: ^16.0.0 || >=18.0.0}
|
engines: {node: ^16.0.0 || >=18.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^7.0.0 || ^8.0.0
|
eslint: ^7.0.0 || ^8.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0)
|
'@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0)
|
||||||
'@types/json-schema': 7.0.12
|
'@types/json-schema': 7.0.12
|
||||||
'@types/semver': 7.5.0
|
'@types/semver': 7.5.0
|
||||||
'@typescript-eslint/scope-manager': 6.4.1
|
'@typescript-eslint/scope-manager': 6.4.1
|
||||||
'@typescript-eslint/types': 6.4.1
|
'@typescript-eslint/types': 6.4.1
|
||||||
'@typescript-eslint/typescript-estree': 6.4.1(typescript@5.2.2)
|
'@typescript-eslint/typescript-estree': 6.4.1(typescript@5.2.2)
|
||||||
eslint: 8.47.0
|
eslint: 8.48.0
|
||||||
semver: 7.5.4
|
semver: 7.5.4
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
@@ -2690,7 +2700,7 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
vite: ^4
|
vite: ^4
|
||||||
dependencies:
|
dependencies:
|
||||||
'@swc/core': 1.3.78
|
'@swc/core': 1.3.80
|
||||||
vite: 4.4.9(@types/node@20.5.6)
|
vite: 4.4.9(@types/node@20.5.6)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@swc/helpers'
|
- '@swc/helpers'
|
||||||
@@ -2892,7 +2902,7 @@ packages:
|
|||||||
postcss: ^8.1.0
|
postcss: ^8.1.0
|
||||||
dependencies:
|
dependencies:
|
||||||
browserslist: 4.21.10
|
browserslist: 4.21.10
|
||||||
caniuse-lite: 1.0.30001522
|
caniuse-lite: 1.0.30001523
|
||||||
fraction.js: 4.2.1
|
fraction.js: 4.2.1
|
||||||
normalize-range: 0.1.2
|
normalize-range: 0.1.2
|
||||||
picocolors: 1.0.0
|
picocolors: 1.0.0
|
||||||
@@ -2944,8 +2954,8 @@ packages:
|
|||||||
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
|
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
caniuse-lite: 1.0.30001522
|
caniuse-lite: 1.0.30001523
|
||||||
electron-to-chromium: 1.4.501
|
electron-to-chromium: 1.4.503
|
||||||
node-releases: 2.0.13
|
node-releases: 2.0.13
|
||||||
update-browserslist-db: 1.0.11(browserslist@4.21.10)
|
update-browserslist-db: 1.0.11(browserslist@4.21.10)
|
||||||
dev: true
|
dev: true
|
||||||
@@ -2955,7 +2965,7 @@ packages:
|
|||||||
engines: {node: '>=6.14.2'}
|
engines: {node: '>=6.14.2'}
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dependencies:
|
dependencies:
|
||||||
node-gyp-build: 4.6.0
|
node-gyp-build: 4.6.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/call-bind@1.0.2:
|
/call-bind@1.0.2:
|
||||||
@@ -2987,8 +2997,8 @@ packages:
|
|||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/caniuse-lite@1.0.30001522:
|
/caniuse-lite@1.0.30001523:
|
||||||
resolution: {integrity: sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==}
|
resolution: {integrity: sha512-I5q5cisATTPZ1mc588Z//pj/Ox80ERYDfR71YnvY7raS/NOk8xXlZcB0sF7JdqaV//kOaa6aus7lRfpdnt1eBA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/case-anything@2.1.13:
|
/case-anything@2.1.13:
|
||||||
@@ -3330,8 +3340,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
|
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/electron-to-chromium@1.4.501:
|
/electron-to-chromium@1.4.503:
|
||||||
resolution: {integrity: sha512-NCF5hZUg73MEP0guvIM+BjPs9W07UeAuc5XCNqRZZTKJxLjE0ZS/Zo5UsV8bbs2y/jeKRPFPzdWdBfOGEZTXKg==}
|
resolution: {integrity: sha512-LF2IQit4B0VrUHFeQkWhZm97KuJSGF2WJqq1InpY+ECpFRkXd8yTIaTtJxsO0OKDmiBYwWqcrNaXOurn2T2wiA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/emoji-regex@8.0.0:
|
/emoji-regex@8.0.0:
|
||||||
@@ -3555,22 +3565,22 @@ packages:
|
|||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/eslint-config-prettier@8.10.0(eslint@8.47.0):
|
/eslint-config-prettier@8.10.0(eslint@8.48.0):
|
||||||
resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==}
|
resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: '>=7.0.0'
|
eslint: '>=7.0.0'
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 8.47.0
|
eslint: 8.48.0
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/eslint-config-prettier@9.0.0(eslint@8.47.0):
|
/eslint-config-prettier@9.0.0(eslint@8.48.0):
|
||||||
resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==}
|
resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: '>=7.0.0'
|
eslint: '>=7.0.0'
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 8.47.0
|
eslint: 8.48.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/eslint-formatter-pretty@4.1.0:
|
/eslint-formatter-pretty@4.1.0:
|
||||||
@@ -3597,7 +3607,7 @@ packages:
|
|||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.47.0):
|
/eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.48.0):
|
||||||
resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
|
resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -3618,15 +3628,15 @@ packages:
|
|||||||
eslint-import-resolver-webpack:
|
eslint-import-resolver-webpack:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@5.2.2)
|
'@typescript-eslint/parser': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
|
||||||
debug: 3.2.7
|
debug: 3.2.7
|
||||||
eslint: 8.47.0
|
eslint: 8.48.0
|
||||||
eslint-import-resolver-node: 0.3.9
|
eslint-import-resolver-node: 0.3.9
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/eslint-plugin-import@2.28.1(@typescript-eslint/parser@5.62.0)(eslint@8.47.0):
|
/eslint-plugin-import@2.28.1(@typescript-eslint/parser@5.62.0)(eslint@8.48.0):
|
||||||
resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==}
|
resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -3636,16 +3646,16 @@ packages:
|
|||||||
'@typescript-eslint/parser':
|
'@typescript-eslint/parser':
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@5.2.2)
|
'@typescript-eslint/parser': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
|
||||||
array-includes: 3.1.6
|
array-includes: 3.1.6
|
||||||
array.prototype.findlastindex: 1.2.2
|
array.prototype.findlastindex: 1.2.2
|
||||||
array.prototype.flat: 1.3.1
|
array.prototype.flat: 1.3.1
|
||||||
array.prototype.flatmap: 1.3.1
|
array.prototype.flatmap: 1.3.1
|
||||||
debug: 3.2.7
|
debug: 3.2.7
|
||||||
doctrine: 2.1.0
|
doctrine: 2.1.0
|
||||||
eslint: 8.47.0
|
eslint: 8.48.0
|
||||||
eslint-import-resolver-node: 0.3.9
|
eslint-import-resolver-node: 0.3.9
|
||||||
eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.47.0)
|
eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.48.0)
|
||||||
has: 1.0.3
|
has: 1.0.3
|
||||||
is-core-module: 2.13.0
|
is-core-module: 2.13.0
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
@@ -3661,7 +3671,7 @@ packages:
|
|||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/eslint-plugin-jsx-a11y@6.7.1(eslint@8.47.0):
|
/eslint-plugin-jsx-a11y@6.7.1(eslint@8.48.0):
|
||||||
resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==}
|
resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==}
|
||||||
engines: {node: '>=4.0'}
|
engines: {node: '>=4.0'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -3676,7 +3686,7 @@ packages:
|
|||||||
axobject-query: 3.2.1
|
axobject-query: 3.2.1
|
||||||
damerau-levenshtein: 1.0.8
|
damerau-levenshtein: 1.0.8
|
||||||
emoji-regex: 9.2.2
|
emoji-regex: 9.2.2
|
||||||
eslint: 8.47.0
|
eslint: 8.48.0
|
||||||
has: 1.0.3
|
has: 1.0.3
|
||||||
jsx-ast-utils: 3.3.5
|
jsx-ast-utils: 3.3.5
|
||||||
language-tags: 1.0.5
|
language-tags: 1.0.5
|
||||||
@@ -3686,7 +3696,7 @@ packages:
|
|||||||
semver: 6.3.1
|
semver: 6.3.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/eslint-plugin-react@7.33.2(eslint@8.47.0):
|
/eslint-plugin-react@7.33.2(eslint@8.48.0):
|
||||||
resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==}
|
resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -3697,7 +3707,7 @@ packages:
|
|||||||
array.prototype.tosorted: 1.1.1
|
array.prototype.tosorted: 1.1.1
|
||||||
doctrine: 2.1.0
|
doctrine: 2.1.0
|
||||||
es-iterator-helpers: 1.0.13
|
es-iterator-helpers: 1.0.13
|
||||||
eslint: 8.47.0
|
eslint: 8.48.0
|
||||||
estraverse: 5.3.0
|
estraverse: 5.3.0
|
||||||
jsx-ast-utils: 3.3.5
|
jsx-ast-utils: 3.3.5
|
||||||
minimatch: 3.1.2
|
minimatch: 3.1.2
|
||||||
@@ -3711,12 +3721,12 @@ packages:
|
|||||||
string.prototype.matchall: 4.0.8
|
string.prototype.matchall: 4.0.8
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/eslint-plugin-simple-import-sort@10.0.0(eslint@8.47.0):
|
/eslint-plugin-simple-import-sort@10.0.0(eslint@8.48.0):
|
||||||
resolution: {integrity: sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==}
|
resolution: {integrity: sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: '>=5.0.0'
|
eslint: '>=5.0.0'
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 8.47.0
|
eslint: 8.48.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/eslint-rule-docs@1.1.235:
|
/eslint-rule-docs@1.1.235:
|
||||||
@@ -3742,15 +3752,15 @@ packages:
|
|||||||
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
|
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
|
|
||||||
/eslint@8.47.0:
|
/eslint@8.48.0:
|
||||||
resolution: {integrity: sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==}
|
resolution: {integrity: sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0)
|
'@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0)
|
||||||
'@eslint-community/regexpp': 4.7.0
|
'@eslint-community/regexpp': 4.8.0
|
||||||
'@eslint/eslintrc': 2.1.2
|
'@eslint/eslintrc': 2.1.2
|
||||||
'@eslint/js': 8.47.0
|
'@eslint/js': 8.48.0
|
||||||
'@humanwhocodes/config-array': 0.11.10
|
'@humanwhocodes/config-array': 0.11.10
|
||||||
'@humanwhocodes/module-importer': 1.0.1
|
'@humanwhocodes/module-importer': 1.0.1
|
||||||
'@nodelib/fs.walk': 1.2.8
|
'@nodelib/fs.walk': 1.2.8
|
||||||
@@ -3893,7 +3903,7 @@ packages:
|
|||||||
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
|
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
|
||||||
engines: {node: ^10.12.0 || >=12.0.0}
|
engines: {node: ^10.12.0 || >=12.0.0}
|
||||||
dependencies:
|
dependencies:
|
||||||
flat-cache: 3.0.4
|
flat-cache: 3.1.0
|
||||||
|
|
||||||
/fill-range@7.0.1:
|
/fill-range@7.0.1:
|
||||||
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
|
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
|
||||||
@@ -3916,11 +3926,12 @@ packages:
|
|||||||
locate-path: 6.0.0
|
locate-path: 6.0.0
|
||||||
path-exists: 4.0.0
|
path-exists: 4.0.0
|
||||||
|
|
||||||
/flat-cache@3.0.4:
|
/flat-cache@3.1.0:
|
||||||
resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
|
resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==}
|
||||||
engines: {node: ^10.12.0 || >=12.0.0}
|
engines: {node: '>=12.0.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
flatted: 3.2.7
|
flatted: 3.2.7
|
||||||
|
keyv: 4.5.3
|
||||||
rimraf: 3.0.2
|
rimraf: 3.0.2
|
||||||
|
|
||||||
/flatted@3.2.7:
|
/flatted@3.2.7:
|
||||||
@@ -4502,6 +4513,9 @@ packages:
|
|||||||
hasBin: true
|
hasBin: true
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/json-buffer@3.0.1:
|
||||||
|
resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
|
||||||
|
|
||||||
/json-parse-better-errors@1.0.2:
|
/json-parse-better-errors@1.0.2:
|
||||||
resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==}
|
resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==}
|
||||||
dev: false
|
dev: false
|
||||||
@@ -4533,6 +4547,11 @@ packages:
|
|||||||
object.values: 1.1.6
|
object.values: 1.1.6
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/keyv@4.5.3:
|
||||||
|
resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==}
|
||||||
|
dependencies:
|
||||||
|
json-buffer: 3.0.1
|
||||||
|
|
||||||
/kind-of@6.0.3:
|
/kind-of@6.0.3:
|
||||||
resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
|
resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
@@ -5253,8 +5272,8 @@ packages:
|
|||||||
formdata-polyfill: 4.0.10
|
formdata-polyfill: 4.0.10
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/node-gyp-build@4.6.0:
|
/node-gyp-build@4.6.1:
|
||||||
resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==}
|
resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
@@ -6999,7 +7018,7 @@ packages:
|
|||||||
engines: {node: '>=6.14.2'}
|
engines: {node: '>=6.14.2'}
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dependencies:
|
dependencies:
|
||||||
node-gyp-build: 4.6.0
|
node-gyp-build: 4.6.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/utf8-buffer@1.0.0:
|
/utf8-buffer@1.0.0:
|
||||||
|
|||||||
20
src-tauri/Cargo.lock
generated
20
src-tauri/Cargo.lock
generated
@@ -1475,7 +1475,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "ef033ed5e9bad94e55838ca0ca906db0e043f517adda0c8b79c7a8c66c93c1b5"
|
checksum = "ef033ed5e9bad94e55838ca0ca906db0e043f517adda0c8b79c7a8c66c93c1b5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"rustix 0.38.8",
|
"rustix 0.38.9",
|
||||||
"windows-sys 0.48.0",
|
"windows-sys 0.48.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -3415,9 +3415,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pin-project-lite"
|
name = "pin-project-lite"
|
||||||
version = "0.2.12"
|
version = "0.2.13"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05"
|
checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pin-utils"
|
name = "pin-utils"
|
||||||
@@ -3972,9 +3972,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustix"
|
name = "rustix"
|
||||||
version = "0.38.8"
|
version = "0.38.9"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f"
|
checksum = "9bfe0f2582b4931a45d1fa608f8a8722e8b3c7ac54dd6d5f3b3212791fedef49"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.4.0",
|
"bitflags 2.4.0",
|
||||||
"errno",
|
"errno",
|
||||||
@@ -4117,18 +4117,18 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde"
|
name = "serde"
|
||||||
version = "1.0.186"
|
version = "1.0.188"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9f5db24220c009de9bd45e69fb2938f4b6d2df856aa9304ce377b3180f83b7c1"
|
checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde_derive",
|
"serde_derive",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde_derive"
|
name = "serde_derive"
|
||||||
version = "1.0.186"
|
version = "1.0.188"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "5ad697f7e0b65af4983a4ce8f56ed5b357e8d3c36651bf6a7e13639c17b8e670"
|
checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
@@ -5387,7 +5387,7 @@ dependencies = [
|
|||||||
"cfg-if",
|
"cfg-if",
|
||||||
"fastrand 2.0.0",
|
"fastrand 2.0.0",
|
||||||
"redox_syscall 0.3.5",
|
"redox_syscall 0.3.5",
|
||||||
"rustix 0.38.8",
|
"rustix 0.38.9",
|
||||||
"windows-sys 0.48.0",
|
"windows-sys 0.48.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ export function User({ pubkey, fallback }: { pubkey: string; fallback?: string }
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex w-full flex-1 flex-col items-start text-start">
|
<div className="flex w-full flex-1 flex-col items-start text-start">
|
||||||
<p className="truncate font-medium leading-tight text-white">
|
<p className="max-w-[15rem] truncate font-medium leading-tight text-white">
|
||||||
{user?.name || user?.display_name || user?.nip05}
|
{user?.name || user?.display_name || user?.nip05}
|
||||||
</p>
|
</p>
|
||||||
<span className="max-w-[15rem] truncate text-base leading-tight text-white/50">
|
<span className="max-w-[15rem] truncate text-base leading-tight text-white/50">
|
||||||
|
|||||||
@@ -28,6 +28,10 @@ export function FeedWidgetForm({ params }: { params: Widget }) {
|
|||||||
setGroups(arr);
|
setGroups(arr);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const cancel = () => {
|
||||||
|
removeWidget(db, params.id);
|
||||||
|
};
|
||||||
|
|
||||||
const submit = async () => {
|
const submit = async () => {
|
||||||
setWidget(db, {
|
setWidget(db, {
|
||||||
kind: WidgetKinds.feed,
|
kind: WidgetKinds.feed,
|
||||||
@@ -39,7 +43,7 @@ export function FeedWidgetForm({ params }: { params: Widget }) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="flex h-full shrink-0 grow-0 basis-[400px] flex-col items-center justify-center">
|
<div className="flex h-full shrink-0 grow-0 basis-[400px] flex-col items-center justify-center bg-white/10">
|
||||||
<div className="w-full px-5">
|
<div className="w-full px-5">
|
||||||
<h3 className="mb-4 text-center text-lg font-semibold">
|
<h3 className="mb-4 text-center text-lg font-semibold">
|
||||||
Choose account you want to add to group feeds
|
Choose account you want to add to group feeds
|
||||||
@@ -70,7 +74,7 @@ export function FeedWidgetForm({ params }: { params: Widget }) {
|
|||||||
</button>
|
</button>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
<div className="flex items-center justify-center">
|
<div className="flex flex-col items-center justify-center gap-2">
|
||||||
<button
|
<button
|
||||||
type="submit"
|
type="submit"
|
||||||
disabled={groups.length < 1}
|
disabled={groups.length < 1}
|
||||||
@@ -81,6 +85,13 @@ export function FeedWidgetForm({ params }: { params: Widget }) {
|
|||||||
<span>Add {groups.length} account to group feed</span>
|
<span>Add {groups.length} account to group feed</span>
|
||||||
<ArrowRightCircleIcon className="h-5 w-5" />
|
<ArrowRightCircleIcon className="h-5 w-5" />
|
||||||
</button>
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onClick={cancel}
|
||||||
|
className="inline-flex h-11 w-full items-center justify-center gap-2 rounded-lg bg-white/10 px-6 font-medium leading-none text-white hover:bg-white/20 focus:outline-none disabled:opacity-50"
|
||||||
|
>
|
||||||
|
Cancel
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -40,6 +40,10 @@ export function HashTagWidgetForm({ params }: { params: Widget }) {
|
|||||||
formState: { errors, isDirty, isValid },
|
formState: { errors, isDirty, isValid },
|
||||||
} = useForm<FormValues>({ resolver });
|
} = useForm<FormValues>({ resolver });
|
||||||
|
|
||||||
|
const cancel = () => {
|
||||||
|
removeWidget(db, params.id);
|
||||||
|
};
|
||||||
|
|
||||||
const onSubmit = async (data: FormValues) => {
|
const onSubmit = async (data: FormValues) => {
|
||||||
try {
|
try {
|
||||||
setWidget(db, {
|
setWidget(db, {
|
||||||
@@ -58,7 +62,7 @@ export function HashTagWidgetForm({ params }: { params: Widget }) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="flex h-full shrink-0 grow-0 basis-[400px] flex-col items-center justify-center">
|
<div className="flex h-full shrink-0 grow-0 basis-[400px] flex-col items-center justify-center bg-white/10">
|
||||||
<div className="w-full px-5">
|
<div className="w-full px-5">
|
||||||
<h3 className="mb-4 text-center text-lg font-semibold">
|
<h3 className="mb-4 text-center text-lg font-semibold">
|
||||||
Enter hashtag you want to follow
|
Enter hashtag you want to follow
|
||||||
@@ -74,7 +78,7 @@ export function HashTagWidgetForm({ params }: { params: Widget }) {
|
|||||||
{errors.hashtag && <p>{errors.hashtag.message}</p>}
|
{errors.hashtag && <p>{errors.hashtag.message}</p>}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex items-center justify-center">
|
<div className="flex flex-col items-center justify-center gap-2">
|
||||||
<button
|
<button
|
||||||
type="submit"
|
type="submit"
|
||||||
disabled={!isDirty || !isValid}
|
disabled={!isDirty || !isValid}
|
||||||
@@ -84,6 +88,13 @@ export function HashTagWidgetForm({ params }: { params: Widget }) {
|
|||||||
<span>Create</span>
|
<span>Create</span>
|
||||||
<ArrowRightCircleIcon className="h-5 w-5" />
|
<ArrowRightCircleIcon className="h-5 w-5" />
|
||||||
</button>
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onClick={cancel}
|
||||||
|
className="inline-flex h-11 w-full items-center justify-center gap-2 rounded-lg bg-white/10 px-6 font-medium leading-none text-white hover:bg-white/20 focus:outline-none disabled:opacity-50"
|
||||||
|
>
|
||||||
|
Cancel
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
import { useQuery } from '@tanstack/react-query';
|
import { useQuery } from '@tanstack/react-query';
|
||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
|
|
||||||
import { FollowIcon, LoaderIcon, UnfollowIcon } from '@shared/icons';
|
import { useStorage } from '@libs/storage/provider';
|
||||||
|
|
||||||
|
import { FollowIcon, UnfollowIcon } from '@shared/icons';
|
||||||
import { Image } from '@shared/image';
|
import { Image } from '@shared/image';
|
||||||
|
|
||||||
import { useSocial } from '@utils/hooks/useSocial';
|
import { useNostr } from '@utils/hooks/useNostr';
|
||||||
import { compactNumber } from '@utils/number';
|
import { compactNumber } from '@utils/number';
|
||||||
import { shortenKey } from '@utils/shortenKey';
|
import { shortenKey } from '@utils/shortenKey';
|
||||||
|
|
||||||
@@ -14,7 +16,8 @@ export interface Profile {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function UserProfile({ data }: { data: Profile }) {
|
export function UserProfile({ data }: { data: Profile }) {
|
||||||
const { status: socialStatus, userFollows, follow, unfollow } = useSocial();
|
const { db } = useStorage();
|
||||||
|
const { addContact, removeContact } = useNostr();
|
||||||
const { status, data: userStats } = useQuery(
|
const { status, data: userStats } = useQuery(
|
||||||
['user-stats', data.pubkey],
|
['user-stats', data.pubkey],
|
||||||
async () => {
|
async () => {
|
||||||
@@ -36,7 +39,7 @@ export function UserProfile({ data }: { data: Profile }) {
|
|||||||
|
|
||||||
const followUser = (pubkey: string) => {
|
const followUser = (pubkey: string) => {
|
||||||
try {
|
try {
|
||||||
follow(pubkey);
|
addContact(pubkey);
|
||||||
// update state
|
// update state
|
||||||
setFollowed(true);
|
setFollowed(true);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@@ -46,7 +49,7 @@ export function UserProfile({ data }: { data: Profile }) {
|
|||||||
|
|
||||||
const unfollowUser = (pubkey: string) => {
|
const unfollowUser = (pubkey: string) => {
|
||||||
try {
|
try {
|
||||||
unfollow(pubkey);
|
removeContact(pubkey);
|
||||||
// update state
|
// update state
|
||||||
setFollowed(false);
|
setFollowed(false);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@@ -55,12 +58,10 @@ export function UserProfile({ data }: { data: Profile }) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (status === 'success' && userFollows) {
|
if (db.account.follows.includes(data.pubkey)) {
|
||||||
if (userFollows.includes(data.pubkey)) {
|
|
||||||
setFollowed(true);
|
setFollowed(true);
|
||||||
}
|
}
|
||||||
}
|
}, []);
|
||||||
}, [status]);
|
|
||||||
|
|
||||||
if (!profile) {
|
if (!profile) {
|
||||||
return (
|
return (
|
||||||
@@ -88,14 +89,7 @@ export function UserProfile({ data }: { data: Profile }) {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="inline-flex items-center gap-2">
|
<div className="inline-flex items-center gap-2">
|
||||||
{socialStatus === 'loading' ? (
|
{followed ? (
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
className="inline-flex h-8 w-8 items-center justify-center rounded-md bg-white/10 hover:bg-fuchsia-500"
|
|
||||||
>
|
|
||||||
<LoaderIcon className="h-4 w-4 animate-spin text-white" />
|
|
||||||
</button>
|
|
||||||
) : followed ? (
|
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
onClick={() => unfollowUser(data.pubkey)}
|
onClick={() => unfollowUser(data.pubkey)}
|
||||||
|
|||||||
@@ -8,21 +8,20 @@ import { useStorage } from '@libs/storage/provider';
|
|||||||
import { EditProfileModal } from '@shared/editProfileModal';
|
import { EditProfileModal } from '@shared/editProfileModal';
|
||||||
import { Image } from '@shared/image';
|
import { Image } from '@shared/image';
|
||||||
|
|
||||||
|
import { useNostr } from '@utils/hooks/useNostr';
|
||||||
import { useProfile } from '@utils/hooks/useProfile';
|
import { useProfile } from '@utils/hooks/useProfile';
|
||||||
import { useSocial } from '@utils/hooks/useSocial';
|
|
||||||
import { shortenKey } from '@utils/shortenKey';
|
import { shortenKey } from '@utils/shortenKey';
|
||||||
|
|
||||||
export function UserProfile({ pubkey }: { pubkey: string }) {
|
export function UserProfile({ pubkey }: { pubkey: string }) {
|
||||||
const { db } = useStorage();
|
const { db } = useStorage();
|
||||||
const { user } = useProfile(pubkey);
|
const { user } = useProfile(pubkey);
|
||||||
const { status, userFollows, follow, unfollow } = useSocial();
|
const { addContact, removeContact } = useNostr();
|
||||||
|
|
||||||
const [followed, setFollowed] = useState(false);
|
const [followed, setFollowed] = useState(false);
|
||||||
|
|
||||||
const followUser = (pubkey: string) => {
|
const followUser = (pubkey: string) => {
|
||||||
try {
|
try {
|
||||||
follow(pubkey);
|
addContact(pubkey);
|
||||||
|
|
||||||
// update state
|
// update state
|
||||||
setFollowed(true);
|
setFollowed(true);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@@ -32,8 +31,7 @@ export function UserProfile({ pubkey }: { pubkey: string }) {
|
|||||||
|
|
||||||
const unfollowUser = (pubkey: string) => {
|
const unfollowUser = (pubkey: string) => {
|
||||||
try {
|
try {
|
||||||
unfollow(pubkey);
|
removeContact(pubkey);
|
||||||
|
|
||||||
// update state
|
// update state
|
||||||
setFollowed(false);
|
setFollowed(false);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@@ -42,12 +40,10 @@ export function UserProfile({ pubkey }: { pubkey: string }) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (status === 'success' && userFollows) {
|
if (db.account.follows.includes(pubkey)) {
|
||||||
if (userFollows.includes(pubkey)) {
|
|
||||||
setFollowed(true);
|
setFollowed(true);
|
||||||
}
|
}
|
||||||
}
|
}, []);
|
||||||
}, [status]);
|
|
||||||
|
|
||||||
if (!user) return <p>Loading...</p>;
|
if (!user) return <p>Loading...</p>;
|
||||||
|
|
||||||
@@ -92,14 +88,7 @@ export function UserProfile({ pubkey }: { pubkey: string }) {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="inline-flex items-center justify-center gap-2">
|
<div className="inline-flex items-center justify-center gap-2">
|
||||||
{status === 'loading' ? (
|
{followed ? (
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
className="inline-flex h-10 w-36 items-center justify-center rounded-md bg-white/10 text-sm font-medium hover:bg-fuchsia-500"
|
|
||||||
>
|
|
||||||
Loading...
|
|
||||||
</button>
|
|
||||||
) : followed ? (
|
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
onClick={() => unfollowUser(pubkey)}
|
onClick={() => unfollowUser(pubkey)}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ export function UserStats({ pubkey }: { pubkey: string }) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="flex w-full items-center gap-10">
|
<div className="flex w-full items-center justify-center gap-10">
|
||||||
<div className="inline-flex flex-col items-center gap-1">
|
<div className="inline-flex flex-col items-center gap-1">
|
||||||
<span className="font-semibold leading-none text-white">
|
<span className="font-semibold leading-none text-white">
|
||||||
{compactNumber.format(data.stats[pubkey].followers_pubkey_count) ?? 0}
|
{compactNumber.format(data.stats[pubkey].followers_pubkey_count) ?? 0}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ export function UserScreen() {
|
|||||||
count: data ? data.length : 0,
|
count: data ? data.length : 0,
|
||||||
getScrollElement: () => parentRef.current,
|
getScrollElement: () => parentRef.current,
|
||||||
estimateSize: () => 650,
|
estimateSize: () => 650,
|
||||||
overscan: 2,
|
overscan: 4,
|
||||||
});
|
});
|
||||||
const items = virtualizer.getVirtualItems();
|
const items = virtualizer.getVirtualItems();
|
||||||
|
|
||||||
|
|||||||
@@ -11,10 +11,13 @@ export function RepliesList({ id }: { id: string }) {
|
|||||||
const [data, setData] = useState<null | NDKEventWithReplies[]>(null);
|
const [data, setData] = useState<null | NDKEventWithReplies[]>(null);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
let isCancelled = false;
|
||||||
|
|
||||||
async function fetchRepliesAndSub() {
|
async function fetchRepliesAndSub() {
|
||||||
const events = await fetchAllReplies(id);
|
const events = await fetchAllReplies(id);
|
||||||
|
if (!isCancelled) {
|
||||||
setData(events);
|
setData(events);
|
||||||
|
}
|
||||||
// subscribe for new replies
|
// subscribe for new replies
|
||||||
sub(
|
sub(
|
||||||
{
|
{
|
||||||
@@ -26,9 +29,12 @@ export function RepliesList({ id }: { id: string }) {
|
|||||||
false
|
false
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
fetchRepliesAndSub();
|
fetchRepliesAndSub();
|
||||||
}, []);
|
|
||||||
|
return () => {
|
||||||
|
isCancelled = true;
|
||||||
|
};
|
||||||
|
}, [id]);
|
||||||
|
|
||||||
if (!data) {
|
if (!data) {
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ export function NoteStats({ id }: { id: string }) {
|
|||||||
<span className="font-semibold text-white">
|
<span className="font-semibold text-white">
|
||||||
{compactNumber.format(data.reposts)}
|
{compactNumber.format(data.reposts)}
|
||||||
</span>{' '}
|
</span>{' '}
|
||||||
reposts
|
repostrs
|
||||||
</p>
|
</p>
|
||||||
<span className="text-white/50">·</span>
|
<span className="text-white/50">·</span>
|
||||||
<p className="text-white/50">
|
<p className="text-white/50">
|
||||||
|
|||||||
@@ -3,21 +3,24 @@ import { Link } from 'react-router-dom';
|
|||||||
|
|
||||||
import { UserStats } from '@app/users/components/stats';
|
import { UserStats } from '@app/users/components/stats';
|
||||||
|
|
||||||
|
import { useStorage } from '@libs/storage/provider';
|
||||||
|
|
||||||
import { Image } from '@shared/image';
|
import { Image } from '@shared/image';
|
||||||
|
|
||||||
|
import { useNostr } from '@utils/hooks/useNostr';
|
||||||
import { useProfile } from '@utils/hooks/useProfile';
|
import { useProfile } from '@utils/hooks/useProfile';
|
||||||
import { useSocial } from '@utils/hooks/useSocial';
|
|
||||||
import { displayNpub } from '@utils/shortenKey';
|
import { displayNpub } from '@utils/shortenKey';
|
||||||
|
|
||||||
export function UserProfile({ pubkey }: { pubkey: string }) {
|
export function UserProfile({ pubkey }: { pubkey: string }) {
|
||||||
|
const { db } = useStorage();
|
||||||
const { user } = useProfile(pubkey);
|
const { user } = useProfile(pubkey);
|
||||||
const { status, userFollows, follow, unfollow } = useSocial();
|
const { addContact, removeContact } = useNostr();
|
||||||
|
|
||||||
const [followed, setFollowed] = useState(false);
|
const [followed, setFollowed] = useState(false);
|
||||||
|
|
||||||
const followUser = (pubkey: string) => {
|
const followUser = (pubkey: string) => {
|
||||||
try {
|
try {
|
||||||
follow(pubkey);
|
addContact(pubkey);
|
||||||
|
|
||||||
// update state
|
// update state
|
||||||
setFollowed(true);
|
setFollowed(true);
|
||||||
@@ -28,7 +31,7 @@ export function UserProfile({ pubkey }: { pubkey: string }) {
|
|||||||
|
|
||||||
const unfollowUser = (pubkey: string) => {
|
const unfollowUser = (pubkey: string) => {
|
||||||
try {
|
try {
|
||||||
unfollow(pubkey);
|
removeContact(pubkey);
|
||||||
|
|
||||||
// update state
|
// update state
|
||||||
setFollowed(false);
|
setFollowed(false);
|
||||||
@@ -38,12 +41,10 @@ export function UserProfile({ pubkey }: { pubkey: string }) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (status === 'success' && userFollows) {
|
if (db.account.follows.includes(pubkey)) {
|
||||||
if (userFollows.includes(pubkey)) {
|
|
||||||
setFollowed(true);
|
setFollowed(true);
|
||||||
}
|
}
|
||||||
}
|
}, []);
|
||||||
}, [status]);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
@@ -68,14 +69,7 @@ export function UserProfile({ pubkey }: { pubkey: string }) {
|
|||||||
<UserStats pubkey={pubkey} />
|
<UserStats pubkey={pubkey} />
|
||||||
</div>
|
</div>
|
||||||
<div className="mt-4 inline-flex items-center gap-2">
|
<div className="mt-4 inline-flex items-center gap-2">
|
||||||
{status === 'loading' ? (
|
{followed ? (
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
className="inline-flex h-10 w-36 items-center justify-center rounded-md bg-white/10 text-sm font-medium hover:bg-fuchsia-500"
|
|
||||||
>
|
|
||||||
Loading...
|
|
||||||
</button>
|
|
||||||
) : followed ? (
|
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
onClick={() => unfollowUser(pubkey)}
|
onClick={() => unfollowUser(pubkey)}
|
||||||
|
|||||||
@@ -98,6 +98,32 @@ export function useNostr() {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const addContact = async (pubkey: string) => {
|
||||||
|
const list = new Set(db.account.follows);
|
||||||
|
list.add(pubkey);
|
||||||
|
|
||||||
|
const tags = [];
|
||||||
|
list.forEach((item) => {
|
||||||
|
tags.push(['p', item]);
|
||||||
|
});
|
||||||
|
|
||||||
|
// publish event
|
||||||
|
publish({ content: '', kind: NDKKind.Contacts, tags: tags });
|
||||||
|
};
|
||||||
|
|
||||||
|
const removeContact = async (pubkey: string) => {
|
||||||
|
const list = new Set(db.account.follows);
|
||||||
|
list.delete(pubkey);
|
||||||
|
|
||||||
|
const tags = [];
|
||||||
|
list.forEach((item) => {
|
||||||
|
tags.push(['p', item]);
|
||||||
|
});
|
||||||
|
|
||||||
|
// publish event
|
||||||
|
publish({ content: '', kind: NDKKind.Contacts, tags: tags });
|
||||||
|
};
|
||||||
|
|
||||||
const prefetchEvents = async () => {
|
const prefetchEvents = async () => {
|
||||||
try {
|
try {
|
||||||
const fetcher = NostrFetcher.withCustomPool(ndkAdapter(ndk));
|
const fetcher = NostrFetcher.withCustomPool(ndkAdapter(ndk));
|
||||||
@@ -309,6 +335,8 @@ export function useNostr() {
|
|||||||
return {
|
return {
|
||||||
sub,
|
sub,
|
||||||
fetchUserData,
|
fetchUserData,
|
||||||
|
addContact,
|
||||||
|
removeContact,
|
||||||
prefetchEvents,
|
prefetchEvents,
|
||||||
fetchActivities,
|
fetchActivities,
|
||||||
fetchNIP04Chats,
|
fetchNIP04Chats,
|
||||||
|
|||||||
@@ -1,69 +0,0 @@
|
|||||||
import { useQuery, useQueryClient } from '@tanstack/react-query';
|
|
||||||
|
|
||||||
import { useNDK } from '@libs/ndk/provider';
|
|
||||||
import { useStorage } from '@libs/storage/provider';
|
|
||||||
|
|
||||||
import { useNostr } from '@utils/hooks/useNostr';
|
|
||||||
|
|
||||||
export function useSocial() {
|
|
||||||
const queryClient = useQueryClient();
|
|
||||||
|
|
||||||
const { publish } = useNostr();
|
|
||||||
const { ndk } = useNDK();
|
|
||||||
const { db } = useStorage();
|
|
||||||
const { status, data: userFollows } = useQuery(
|
|
||||||
['userFollows', db.account.pubkey],
|
|
||||||
async () => {
|
|
||||||
const keys = [];
|
|
||||||
const user = ndk.getUser({ hexpubkey: db.account.pubkey });
|
|
||||||
const follows = await user.follows();
|
|
||||||
|
|
||||||
follows.forEach((item) => {
|
|
||||||
keys.push(item.hexpubkey);
|
|
||||||
});
|
|
||||||
|
|
||||||
return keys;
|
|
||||||
},
|
|
||||||
{
|
|
||||||
refetchOnReconnect: false,
|
|
||||||
refetchOnMount: false,
|
|
||||||
refetchOnWindowFocus: false,
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
const unfollow = (pubkey: string) => {
|
|
||||||
const followsAsSet = new Set(userFollows);
|
|
||||||
followsAsSet.delete(pubkey);
|
|
||||||
|
|
||||||
const tags = [];
|
|
||||||
followsAsSet.forEach((item) => {
|
|
||||||
tags.push(['p', item]);
|
|
||||||
});
|
|
||||||
|
|
||||||
// publish event
|
|
||||||
publish({ content: '', kind: 3, tags: tags });
|
|
||||||
// invalid cache
|
|
||||||
queryClient.invalidateQueries({
|
|
||||||
queryKey: ['userFollows', db.account.pubkey],
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
const follow = async (pubkey: string) => {
|
|
||||||
const followsAsSet = new Set(userFollows);
|
|
||||||
followsAsSet.add(pubkey);
|
|
||||||
|
|
||||||
const tags = [];
|
|
||||||
followsAsSet.forEach((item) => {
|
|
||||||
tags.push(['p', item]);
|
|
||||||
});
|
|
||||||
|
|
||||||
// publish event
|
|
||||||
publish({ content: '', kind: 3, tags: tags });
|
|
||||||
// invalid cache
|
|
||||||
queryClient.invalidateQueries({
|
|
||||||
queryKey: ['userFollows', db.account.pubkey],
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
return { status, userFollows, follow, unfollow };
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user