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