This commit is contained in:
Ren Amamiya 2023-04-21 13:58:46 +07:00
parent 1ee77c28fe
commit f8dff5f81e
4 changed files with 55 additions and 176 deletions

View File

@ -14,8 +14,6 @@
"**/*.{js,ts,jsx,tsx}": "eslint --fix" "**/*.{js,ts,jsx,tsx}": "eslint --fix"
}, },
"dependencies": { "dependencies": {
"@emoji-mart/data": "^1.1.2",
"@emoji-mart/react": "^1.1.1",
"@radix-ui/react-alert-dialog": "^1.0.3", "@radix-ui/react-alert-dialog": "^1.0.3",
"@radix-ui/react-collapsible": "^1.0.2", "@radix-ui/react-collapsible": "^1.0.2",
"@radix-ui/react-dialog": "^1.0.3", "@radix-ui/react-dialog": "^1.0.3",
@ -24,11 +22,10 @@
"@radix-ui/react-tabs": "^1.0.3", "@radix-ui/react-tabs": "^1.0.3",
"@radix-ui/react-tooltip": "^1.0.5", "@radix-ui/react-tooltip": "^1.0.5",
"@rehooks/local-storage": "^2.4.4", "@rehooks/local-storage": "^2.4.4",
"@supabase/supabase-js": "^2.20.0", "@supabase/supabase-js": "^2.21.0",
"@tauri-apps/api": "^1.2.0", "@tauri-apps/api": "^1.2.0",
"dayjs": "^1.11.7", "dayjs": "^1.11.7",
"destr": "^1.2.2", "destr": "^1.2.2",
"emoji-mart": "^5.5.2",
"framer-motion": "^9.1.7", "framer-motion": "^9.1.7",
"iconoir-react": "^6.6.0", "iconoir-react": "^6.6.0",
"jotai": "^2.0.4", "jotai": "^2.0.4",
@ -42,15 +39,14 @@
"react-string-replace": "^1.1.0", "react-string-replace": "^1.1.0",
"react-virtuoso": "^4.2.2", "react-virtuoso": "^4.2.2",
"tauri-plugin-sql-api": "github:tauri-apps/tauri-plugin-sql", "tauri-plugin-sql-api": "github:tauri-apps/tauri-plugin-sql",
"unique-names-generator": "^4.7.1", "unique-names-generator": "^4.7.1"
"ws": "^8.13.0"
}, },
"devDependencies": { "devDependencies": {
"@next/bundle-analyzer": "^13.3.0", "@next/bundle-analyzer": "^13.3.0",
"@tailwindcss/typography": "^0.5.9", "@tailwindcss/typography": "^0.5.9",
"@tauri-apps/cli": "^1.2.3", "@tauri-apps/cli": "^1.2.3",
"@trivago/prettier-plugin-sort-imports": "^4.1.1", "@trivago/prettier-plugin-sort-imports": "^4.1.1",
"@types/node": "^18.15.11", "@types/node": "^18.15.13",
"@types/react": "^18.0.37", "@types/react": "^18.0.37",
"@types/react-dom": "^18.0.11", "@types/react-dom": "^18.0.11",
"@typescript-eslint/eslint-plugin": "^5.59.0", "@typescript-eslint/eslint-plugin": "^5.59.0",
@ -66,11 +62,12 @@
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.0",
"husky": "^8.0.3", "husky": "^8.0.3",
"lint-staged": "^13.2.1", "lint-staged": "^13.2.1",
"postcss": "^8.4.22", "postcss": "^8.4.23",
"prettier": "^2.8.7", "prettier": "^2.8.7",
"prettier-plugin-tailwindcss": "^0.2.7", "prettier-plugin-tailwindcss": "^0.2.7",
"prop-types": "^15.8.1", "prop-types": "^15.8.1",
"tailwindcss": "^3.3.1", "tailwindcss": "^3.3.1",
"typescript": "^4.9.5" "typescript": "^4.9.5",
"ws": "^8.13.0"
} }
} }

View File

@ -1,8 +1,6 @@
lockfileVersion: 5.4 lockfileVersion: 5.4
specifiers: specifiers:
'@emoji-mart/data': ^1.1.2
'@emoji-mart/react': ^1.1.1
'@next/bundle-analyzer': ^13.3.0 '@next/bundle-analyzer': ^13.3.0
'@radix-ui/react-alert-dialog': ^1.0.3 '@radix-ui/react-alert-dialog': ^1.0.3
'@radix-ui/react-collapsible': ^1.0.2 '@radix-ui/react-collapsible': ^1.0.2
@ -12,12 +10,12 @@ specifiers:
'@radix-ui/react-tabs': ^1.0.3 '@radix-ui/react-tabs': ^1.0.3
'@radix-ui/react-tooltip': ^1.0.5 '@radix-ui/react-tooltip': ^1.0.5
'@rehooks/local-storage': ^2.4.4 '@rehooks/local-storage': ^2.4.4
'@supabase/supabase-js': ^2.20.0 '@supabase/supabase-js': ^2.21.0
'@tailwindcss/typography': ^0.5.9 '@tailwindcss/typography': ^0.5.9
'@tauri-apps/api': ^1.2.0 '@tauri-apps/api': ^1.2.0
'@tauri-apps/cli': ^1.2.3 '@tauri-apps/cli': ^1.2.3
'@trivago/prettier-plugin-sort-imports': ^4.1.1 '@trivago/prettier-plugin-sort-imports': ^4.1.1
'@types/node': ^18.15.11 '@types/node': ^18.15.13
'@types/react': ^18.0.37 '@types/react': ^18.0.37
'@types/react-dom': ^18.0.11 '@types/react-dom': ^18.0.11
'@typescript-eslint/eslint-plugin': ^5.59.0 '@typescript-eslint/eslint-plugin': ^5.59.0
@ -27,7 +25,6 @@ specifiers:
csstype: ^3.1.2 csstype: ^3.1.2
dayjs: ^1.11.7 dayjs: ^1.11.7
destr: ^1.2.2 destr: ^1.2.2
emoji-mart: ^5.5.2
encoding: ^0.1.13 encoding: ^0.1.13
eslint: ^8.38.0 eslint: ^8.38.0
eslint-config-next: ^13.3.0 eslint-config-next: ^13.3.0
@ -42,7 +39,7 @@ specifiers:
next: 13.3.1-canary.16 next: 13.3.1-canary.16
nostr-relaypool: ^0.5.18 nostr-relaypool: ^0.5.18
nostr-tools: ^1.10.0 nostr-tools: ^1.10.0
postcss: ^8.4.22 postcss: ^8.4.23
prettier: ^2.8.7 prettier: ^2.8.7
prettier-plugin-tailwindcss: ^0.2.7 prettier-plugin-tailwindcss: ^0.2.7
prop-types: ^15.8.1 prop-types: ^15.8.1
@ -59,8 +56,6 @@ specifiers:
ws: ^8.13.0 ws: ^8.13.0
dependencies: dependencies:
'@emoji-mart/data': 1.1.2
'@emoji-mart/react': 1.1.1_kyrnz3vmphzqyjjk2ivrm6bcsu
'@radix-ui/react-alert-dialog': 1.0.3_jf7puk66b2eiqxne3oe3xlxkou '@radix-ui/react-alert-dialog': 1.0.3_jf7puk66b2eiqxne3oe3xlxkou
'@radix-ui/react-collapsible': 1.0.2_biqbaboplfbrettd7655fr4n2y '@radix-ui/react-collapsible': 1.0.2_biqbaboplfbrettd7655fr4n2y
'@radix-ui/react-dialog': 1.0.3_jf7puk66b2eiqxne3oe3xlxkou '@radix-ui/react-dialog': 1.0.3_jf7puk66b2eiqxne3oe3xlxkou
@ -69,11 +64,10 @@ dependencies:
'@radix-ui/react-tabs': 1.0.3_biqbaboplfbrettd7655fr4n2y '@radix-ui/react-tabs': 1.0.3_biqbaboplfbrettd7655fr4n2y
'@radix-ui/react-tooltip': 1.0.5_jf7puk66b2eiqxne3oe3xlxkou '@radix-ui/react-tooltip': 1.0.5_jf7puk66b2eiqxne3oe3xlxkou
'@rehooks/local-storage': 2.4.4_react@18.2.0 '@rehooks/local-storage': 2.4.4_react@18.2.0
'@supabase/supabase-js': 2.20.0_encoding@0.1.13 '@supabase/supabase-js': 2.21.0_encoding@0.1.13
'@tauri-apps/api': 1.2.0 '@tauri-apps/api': 1.2.0
dayjs: 1.11.7 dayjs: 1.11.7
destr: 1.2.2 destr: 1.2.2
emoji-mart: 5.5.2
framer-motion: 9.1.7_biqbaboplfbrettd7655fr4n2y framer-motion: 9.1.7_biqbaboplfbrettd7655fr4n2y
iconoir-react: 6.6.0_react@18.2.0 iconoir-react: 6.6.0_react@18.2.0
jotai: 2.0.4_react@18.2.0 jotai: 2.0.4_react@18.2.0
@ -88,19 +82,18 @@ dependencies:
react-virtuoso: 4.2.2_biqbaboplfbrettd7655fr4n2y react-virtuoso: 4.2.2_biqbaboplfbrettd7655fr4n2y
tauri-plugin-sql-api: github.com/tauri-apps/tauri-plugin-sql/62b21ef24303d80e9905f57b2b6d27efc8677c23 tauri-plugin-sql-api: github.com/tauri-apps/tauri-plugin-sql/62b21ef24303d80e9905f57b2b6d27efc8677c23
unique-names-generator: 4.7.1 unique-names-generator: 4.7.1
ws: 8.13.0
devDependencies: devDependencies:
'@next/bundle-analyzer': 13.3.0 '@next/bundle-analyzer': 13.3.0
'@tailwindcss/typography': 0.5.9_tailwindcss@3.3.1 '@tailwindcss/typography': 0.5.9_tailwindcss@3.3.1
'@tauri-apps/cli': 1.2.3 '@tauri-apps/cli': 1.2.3
'@trivago/prettier-plugin-sort-imports': 4.1.1_prettier@2.8.7 '@trivago/prettier-plugin-sort-imports': 4.1.1_prettier@2.8.7
'@types/node': 18.15.11 '@types/node': 18.15.13
'@types/react': 18.0.37 '@types/react': 18.0.37
'@types/react-dom': 18.0.11 '@types/react-dom': 18.0.11
'@typescript-eslint/eslint-plugin': 5.59.0_fdxyi3g57a6lyb5rx36h2olw2q '@typescript-eslint/eslint-plugin': 5.59.0_fdxyi3g57a6lyb5rx36h2olw2q
'@typescript-eslint/parser': 5.59.0_ze6bmax3gcsfve3yrzu6npguhe '@typescript-eslint/parser': 5.59.0_ze6bmax3gcsfve3yrzu6npguhe
autoprefixer: 10.4.14_postcss@8.4.22 autoprefixer: 10.4.14_postcss@8.4.23
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
@ -111,12 +104,13 @@ devDependencies:
eslint-plugin-react-hooks: 4.6.0_eslint@8.38.0 eslint-plugin-react-hooks: 4.6.0_eslint@8.38.0
husky: 8.0.3 husky: 8.0.3
lint-staged: 13.2.1 lint-staged: 13.2.1
postcss: 8.4.22 postcss: 8.4.23
prettier: 2.8.7 prettier: 2.8.7
prettier-plugin-tailwindcss: 0.2.7_yk5p2qt6yzw3zyyilt4azle7eu prettier-plugin-tailwindcss: 0.2.7_yk5p2qt6yzw3zyyilt4azle7eu
prop-types: 15.8.1 prop-types: 15.8.1
tailwindcss: 3.3.1_postcss@8.4.22 tailwindcss: 3.3.1_postcss@8.4.23
typescript: 4.9.5 typescript: 4.9.5
ws: 8.13.0
packages: packages:
/@babel/code-frame/7.21.4: /@babel/code-frame/7.21.4:
@ -254,22 +248,6 @@ packages:
to-fast-properties: 2.0.0 to-fast-properties: 2.0.0
dev: true dev: true
/@emoji-mart/data/1.1.2:
resolution:
{ integrity: sha512-1HP8BxD2azjqWJvxIaWAMyTySeZY0Osr83ukYjltPVkNXeJvTz7yDrPLBtnrD5uqJ3tg4CcLuuBW09wahqL/fg== }
dev: false
/@emoji-mart/react/1.1.1_kyrnz3vmphzqyjjk2ivrm6bcsu:
resolution:
{ integrity: sha512-NMlFNeWgv1//uPsvLxvGQoIerPuVdXwK/EUek8OOkJ6wVOWPUizRBJU0hDqWZCOROVpfBgCemaC3m6jDOXi03g== }
peerDependencies:
emoji-mart: ^5.2
react: ^16.8 || ^17 || ^18
dependencies:
emoji-mart: 5.5.2
react: 18.2.0
dev: false
/@emotion/is-prop-valid/0.8.8: /@emotion/is-prop-valid/0.8.8:
resolution: resolution:
{ integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA== } { integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA== }
@ -1127,9 +1105,9 @@ packages:
- encoding - encoding
dev: false dev: false
/@supabase/gotrue-js/2.22.3_encoding@0.1.13: /@supabase/gotrue-js/2.23.0_encoding@0.1.13:
resolution: resolution:
{ integrity: sha512-GBu+YT7jaWgmmVRNPZnT2YmO7TjscjoBVMzMDnr2yPL6C2ImzRmOKIbHnGliDeI5EaEsPPljWoYR4xB+WJb98w== } { integrity: sha512-N6o+MMGsPDbdiz0R0Oy9GlgefYFjJJvoBduR16s8c1H3yG2jp6jq+pMEP18P1bg7uk2DljEjyBnVN7Wj7SJ2Zw== }
dependencies: dependencies:
cross-fetch: 3.1.5_encoding@0.1.13 cross-fetch: 3.1.5_encoding@0.1.13
transitivePeerDependencies: transitivePeerDependencies:
@ -1165,12 +1143,12 @@ packages:
- encoding - encoding
dev: false dev: false
/@supabase/supabase-js/2.20.0_encoding@0.1.13: /@supabase/supabase-js/2.21.0_encoding@0.1.13:
resolution: resolution:
{ integrity: sha512-6sNX4WEaVBbmOS1K2U3PcpAhp0FcjVo1FRSEoj4N+NZ6DIokX+yut8IBhF176pg5kFCdFIL2wyNhf3SltREmWw== } { integrity: sha512-FW3ZzBoc4orSgfX0dXrmJoXAcI/hiekmqXTkN64vjtUF2Urp3UjyAf71UTtV9Jl6ejHoe3K++e0+Rg9zKUJh5w== }
dependencies: dependencies:
'@supabase/functions-js': 2.1.1_encoding@0.1.13 '@supabase/functions-js': 2.1.1_encoding@0.1.13
'@supabase/gotrue-js': 2.22.3_encoding@0.1.13 '@supabase/gotrue-js': 2.23.0_encoding@0.1.13
'@supabase/postgrest-js': 1.6.0_encoding@0.1.13 '@supabase/postgrest-js': 1.6.0_encoding@0.1.13
'@supabase/realtime-js': 2.7.2 '@supabase/realtime-js': 2.7.2
'@supabase/storage-js': 2.5.1_encoding@0.1.13 '@supabase/storage-js': 2.5.1_encoding@0.1.13
@ -1197,7 +1175,7 @@ packages:
lodash.isplainobject: 4.0.6 lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2 lodash.merge: 4.6.2
postcss-selector-parser: 6.0.10 postcss-selector-parser: 6.0.10
tailwindcss: 3.3.1_postcss@8.4.22 tailwindcss: 3.3.1_postcss@8.4.23
dev: true dev: true
/@tauri-apps/api/1.2.0: /@tauri-apps/api/1.2.0:
@ -1344,9 +1322,9 @@ packages:
{ integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== } { integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== }
dev: true dev: true
/@types/node/18.15.11: /@types/node/18.15.13:
resolution: resolution:
{ integrity: sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q== } { integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q== }
/@types/phoenix/1.5.6: /@types/phoenix/1.5.6:
resolution: resolution:
@ -1385,7 +1363,7 @@ packages:
resolution: resolution:
{ integrity: sha512-NbsqiNX9CnEfC1Z0Vf4mE1SgAJ07JnRYcNex7AJ9zAVzmiGHmjKFEk7O4TJIsgv2B1sLEb6owKFZrACwdYngsQ== } { integrity: sha512-NbsqiNX9CnEfC1Z0Vf4mE1SgAJ07JnRYcNex7AJ9zAVzmiGHmjKFEk7O4TJIsgv2B1sLEb6owKFZrACwdYngsQ== }
dependencies: dependencies:
'@types/node': 18.15.11 '@types/node': 18.15.13
dev: false dev: false
/@typescript-eslint/eslint-plugin/5.59.0_fdxyi3g57a6lyb5rx36h2olw2q: /@typescript-eslint/eslint-plugin/5.59.0_fdxyi3g57a6lyb5rx36h2olw2q:
@ -1718,7 +1696,7 @@ packages:
engines: { node: '>=8' } engines: { node: '>=8' }
dev: true dev: true
/autoprefixer/10.4.14_postcss@8.4.22: /autoprefixer/10.4.14_postcss@8.4.23:
resolution: resolution:
{ integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ== } { integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ== }
engines: { node: ^10 || ^12 || >=14 } engines: { node: ^10 || ^12 || >=14 }
@ -1727,11 +1705,11 @@ packages:
postcss: ^8.1.0 postcss: ^8.1.0
dependencies: dependencies:
browserslist: 4.21.5 browserslist: 4.21.5
caniuse-lite: 1.0.30001480 caniuse-lite: 1.0.30001481
fraction.js: 4.2.0 fraction.js: 4.2.0
normalize-range: 0.1.2 normalize-range: 0.1.2
picocolors: 1.0.0 picocolors: 1.0.0
postcss: 8.4.22 postcss: 8.4.23
postcss-value-parser: 4.2.0 postcss-value-parser: 4.2.0
dev: true dev: true
@ -1787,7 +1765,7 @@ 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.30001480 caniuse-lite: 1.0.30001481
electron-to-chromium: 1.4.368 electron-to-chromium: 1.4.368
node-releases: 2.0.10 node-releases: 2.0.10
update-browserslist-db: 1.0.11_browserslist@4.21.5 update-browserslist-db: 1.0.11_browserslist@4.21.5
@ -1829,9 +1807,9 @@ packages:
engines: { node: '>= 6' } engines: { node: '>= 6' }
dev: true dev: true
/caniuse-lite/1.0.30001480: /caniuse-lite/1.0.30001481:
resolution: resolution:
{ integrity: sha512-q7cpoPPvZYgtyC4VaBSN0Bt+PJ4c4EYRf0DrduInOz2SkFpHD5p3LnvEpqBp7UnJn+8x1Ogl1s38saUxe+ihQQ== } { integrity: sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ== }
/chalk/2.4.2: /chalk/2.4.2:
resolution: resolution:
@ -2074,7 +2052,7 @@ packages:
object-is: 1.1.5 object-is: 1.1.5
object-keys: 1.1.1 object-keys: 1.1.1
object.assign: 4.1.4 object.assign: 4.1.4
regexp.prototype.flags: 1.4.3 regexp.prototype.flags: 1.5.0
side-channel: 1.0.4 side-channel: 1.0.4
which-boxed-primitive: 1.0.2 which-boxed-primitive: 1.0.2
which-collection: 1.0.1 which-collection: 1.0.1
@ -2166,11 +2144,6 @@ packages:
{ integrity: sha512-e2aeCAixCj9M7nJxdB/wDjO6mbYX+lJJxSJCXDzlr5YPGYVofuJwGN9nKg2o6wWInjX6XmxRinn3AeJMK81ltw== } { integrity: sha512-e2aeCAixCj9M7nJxdB/wDjO6mbYX+lJJxSJCXDzlr5YPGYVofuJwGN9nKg2o6wWInjX6XmxRinn3AeJMK81ltw== }
dev: true dev: true
/emoji-mart/5.5.2:
resolution:
{ integrity: sha512-Sqc/nso4cjxhOwWJsp9xkVm8OF5c+mJLZJFoFfzRuKO+yWiN7K8c96xmtughYb0d/fZ8UC6cLIQ/p4BR6Pv3/A== }
dev: false
/emoji-regex/8.0.0: /emoji-regex/8.0.0:
resolution: resolution:
{ integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== } { integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== }
@ -2187,9 +2160,9 @@ packages:
dependencies: dependencies:
iconv-lite: 0.6.3 iconv-lite: 0.6.3
/enhanced-resolve/5.12.0: /enhanced-resolve/5.13.0:
resolution: resolution:
{ integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== } { integrity: sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg== }
engines: { node: '>=10.13.0' } engines: { node: '>=10.13.0' }
dependencies: dependencies:
graceful-fs: 4.2.11 graceful-fs: 4.2.11
@ -2227,7 +2200,7 @@ packages:
object-inspect: 1.12.3 object-inspect: 1.12.3
object-keys: 1.1.1 object-keys: 1.1.1
object.assign: 4.1.4 object.assign: 4.1.4
regexp.prototype.flags: 1.4.3 regexp.prototype.flags: 1.5.0
safe-regex-test: 1.0.0 safe-regex-test: 1.0.0
string.prototype.trim: 1.2.7 string.prototype.trim: 1.2.7
string.prototype.trimend: 1.0.6 string.prototype.trimend: 1.0.6
@ -2381,7 +2354,7 @@ packages:
eslint-plugin-import: '*' eslint-plugin-import: '*'
dependencies: dependencies:
debug: 4.3.4 debug: 4.3.4
enhanced-resolve: 5.12.0 enhanced-resolve: 5.13.0
eslint: 8.38.0 eslint: 8.38.0
eslint-module-utils: 2.8.0_amdmgvxvyswgee2ths52dmheye eslint-module-utils: 2.8.0_amdmgvxvyswgee2ths52dmheye
eslint-plugin-import: 2.27.5_zd47usm4wh46g3or3idhwsf3ym eslint-plugin-import: 2.27.5_zd47usm4wh46g3or3idhwsf3ym
@ -3673,7 +3646,7 @@ packages:
'@next/env': 13.3.1-canary.16 '@next/env': 13.3.1-canary.16
'@swc/helpers': 0.5.0 '@swc/helpers': 0.5.0
busboy: 1.6.0 busboy: 1.6.0
caniuse-lite: 1.0.30001480 caniuse-lite: 1.0.30001481
postcss: 8.4.14 postcss: 8.4.14
react: 18.2.0 react: 18.2.0
react-dom: 18.2.0_react@18.2.0 react-dom: 18.2.0_react@18.2.0
@ -3989,20 +3962,20 @@ packages:
engines: { node: '>= 6' } engines: { node: '>= 6' }
dev: true dev: true
/postcss-import/14.1.0_postcss@8.4.22: /postcss-import/14.1.0_postcss@8.4.23:
resolution: resolution:
{ integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== } { integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== }
engines: { node: '>=10.0.0' } engines: { node: '>=10.0.0' }
peerDependencies: peerDependencies:
postcss: ^8.0.0 postcss: ^8.0.0
dependencies: dependencies:
postcss: 8.4.22 postcss: 8.4.23
postcss-value-parser: 4.2.0 postcss-value-parser: 4.2.0
read-cache: 1.0.0 read-cache: 1.0.0
resolve: 1.22.2 resolve: 1.22.2
dev: true dev: true
/postcss-js/4.0.1_postcss@8.4.22: /postcss-js/4.0.1_postcss@8.4.23:
resolution: resolution:
{ integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== } { integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== }
engines: { node: ^12 || ^14 || >= 16 } engines: { node: ^12 || ^14 || >= 16 }
@ -4010,10 +3983,10 @@ packages:
postcss: ^8.4.21 postcss: ^8.4.21
dependencies: dependencies:
camelcase-css: 2.0.1 camelcase-css: 2.0.1
postcss: 8.4.22 postcss: 8.4.23
dev: true dev: true
/postcss-load-config/3.1.4_postcss@8.4.22: /postcss-load-config/3.1.4_postcss@8.4.23:
resolution: resolution:
{ integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== } { integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== }
engines: { node: '>= 10' } engines: { node: '>= 10' }
@ -4027,18 +4000,18 @@ packages:
optional: true optional: true
dependencies: dependencies:
lilconfig: 2.1.0 lilconfig: 2.1.0
postcss: 8.4.22 postcss: 8.4.23
yaml: 1.10.2 yaml: 1.10.2
dev: true dev: true
/postcss-nested/6.0.0_postcss@8.4.22: /postcss-nested/6.0.0_postcss@8.4.23:
resolution: resolution:
{ integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w== } { integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w== }
engines: { node: '>=12.0' } engines: { node: '>=12.0' }
peerDependencies: peerDependencies:
postcss: ^8.2.14 postcss: ^8.2.14
dependencies: dependencies:
postcss: 8.4.22 postcss: 8.4.23
postcss-selector-parser: 6.0.11 postcss-selector-parser: 6.0.11
dev: true dev: true
@ -4075,9 +4048,9 @@ packages:
source-map-js: 1.0.2 source-map-js: 1.0.2
dev: false dev: false
/postcss/8.4.22: /postcss/8.4.23:
resolution: resolution:
{ integrity: sha512-XseknLAfRHzVWjCEtdviapiBtfLdgyzExD50Rg2ePaucEesyh8Wv4VPdW0nbyDa1ydbrAxV19jvMT4+LFmcNUA== } { integrity: sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA== }
engines: { node: ^10 || ^12 || >=14 } engines: { node: ^10 || ^12 || >=14 }
dependencies: dependencies:
nanoid: 3.3.6 nanoid: 3.3.6
@ -4324,9 +4297,9 @@ packages:
resolution: resolution:
{ integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== } { integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== }
/regexp.prototype.flags/1.4.3: /regexp.prototype.flags/1.5.0:
resolution: resolution:
{ integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== } { integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== }
engines: { node: '>= 0.4' } engines: { node: '>= 0.4' }
dependencies: dependencies:
call-bind: 1.0.2 call-bind: 1.0.2
@ -4583,7 +4556,7 @@ packages:
get-intrinsic: 1.2.0 get-intrinsic: 1.2.0
has-symbols: 1.0.3 has-symbols: 1.0.3
internal-slot: 1.0.5 internal-slot: 1.0.5
regexp.prototype.flags: 1.4.3 regexp.prototype.flags: 1.5.0
side-channel: 1.0.4 side-channel: 1.0.4
dev: true dev: true
@ -4713,7 +4686,7 @@ packages:
tslib: 2.5.0 tslib: 2.5.0
dev: true dev: true
/tailwindcss/3.3.1_postcss@8.4.22: /tailwindcss/3.3.1_postcss@8.4.23:
resolution: resolution:
{ integrity: sha512-Vkiouc41d4CEq0ujXl6oiGFQ7bA3WEhUZdTgXAhtKxSy49OmKs8rEfQmupsfF0IGW8fv2iQkp1EVUuapCFrZ9g== } { integrity: sha512-Vkiouc41d4CEq0ujXl6oiGFQ7bA3WEhUZdTgXAhtKxSy49OmKs8rEfQmupsfF0IGW8fv2iQkp1EVUuapCFrZ9g== }
engines: { node: '>=12.13.0' } engines: { node: '>=12.13.0' }
@ -4735,11 +4708,11 @@ packages:
normalize-path: 3.0.0 normalize-path: 3.0.0
object-hash: 3.0.0 object-hash: 3.0.0
picocolors: 1.0.0 picocolors: 1.0.0
postcss: 8.4.22 postcss: 8.4.23
postcss-import: 14.1.0_postcss@8.4.22 postcss-import: 14.1.0_postcss@8.4.23
postcss-js: 4.0.1_postcss@8.4.22 postcss-js: 4.0.1_postcss@8.4.23
postcss-load-config: 3.1.4_postcss@8.4.22 postcss-load-config: 3.1.4_postcss@8.4.23
postcss-nested: 6.0.0_postcss@8.4.22 postcss-nested: 6.0.0_postcss@8.4.23
postcss-selector-parser: 6.0.11 postcss-selector-parser: 6.0.11
postcss-value-parser: 4.2.0 postcss-value-parser: 4.2.0
quick-lru: 5.1.1 quick-lru: 5.1.1
@ -5145,7 +5118,6 @@ packages:
optional: true optional: true
utf-8-validate: utf-8-validate:
optional: true optional: true
dev: false
/yaeti/0.0.6: /yaeti/0.0.6:
resolution: resolution:

View File

@ -1,67 +0,0 @@
'use client';
import { BrowseChannelItem } from '@components/channels/browseChannelItem';
import { getChannels } from '@utils/storage';
import { Suspense, useCallback, useEffect, useRef, useState } from 'react';
import { VirtuosoGrid } from 'react-virtuoso';
export default function Page() {
const [data, setData] = useState([]);
const virtuosoRef = useRef(null);
const limit = useRef(20);
const offset = useRef(0);
const itemContent: any = useCallback(
(index: string | number) => {
return <BrowseChannelItem key={data[index].event_id} data={data[index]} />;
},
[data]
);
const computeItemKey = useCallback(
(index: string | number) => {
return data[index].event_id;
},
[data]
);
const initialData = useCallback(async () => {
const result: any = await getChannels(limit.current, offset.current);
console.log(result);
setData((data) => [...data, ...result]);
}, [setData]);
const loadMore = useCallback(async () => {
offset.current += limit.current;
// query next page
const result: any = await getChannels(limit.current, offset.current);
setData((data) => [...data, ...result]);
}, [setData]);
useEffect(() => {
initialData().catch(console.error);
}, [initialData]);
return (
<div className="h-full w-full">
<div className="mx-auto h-full w-full max-w-2xl px-4">
<Suspense fallback={<>Loading...</>}>
<VirtuosoGrid
ref={virtuosoRef}
data={data}
itemContent={itemContent}
itemClassName="col-span-1"
listClassName="grid grid-cols-2 gap-4"
computeItemKey={computeItemKey}
overscan={200}
endReached={loadMore}
className="scrollbar-hide h-full w-full overflow-y-auto overflow-x-hidden"
/>
</Suspense>
</div>
</div>
);
}

View File

@ -1,23 +0,0 @@
import AppHeader from '@components/appHeader';
import MultiAccounts from '@components/multiAccounts';
export default function NostrLayout({ children }: { children: React.ReactNode }) {
return (
<div className="h-screen w-screen bg-zinc-50 text-zinc-900 dark:bg-black dark:text-white">
<div className="flex h-screen w-full flex-col">
<div
data-tauri-drag-region
className="relative h-11 shrink-0 border-b border-zinc-100 bg-white dark:border-zinc-900 dark:bg-black"
>
<AppHeader collector={true} />
</div>
<div className="relative flex min-h-0 w-full flex-1">
<div className="relative w-[68px] shrink-0 border-r border-zinc-900">
<MultiAccounts />
</div>
<div className="w-full">{children}</div>
</div>
</div>
</div>
);
}