diff --git a/package.json b/package.json index 3c61826d..77581cf4 100644 --- a/package.json +++ b/package.json @@ -45,8 +45,8 @@ "@types/react": "^18.0.38", "@types/react-dom": "^18.0.11", "@types/youtube-player": "^5.5.7", - "@typescript-eslint/eslint-plugin": "^5.59.0", - "@typescript-eslint/parser": "^5.59.0", + "@typescript-eslint/eslint-plugin": "^5.59.1", + "@typescript-eslint/parser": "^5.59.1", "@vitejs/plugin-react-swc": "^3.3.0", "autoprefixer": "^10.4.14", "cross-env": "^7.0.3", @@ -66,7 +66,7 @@ "tailwindcss": "^3.3.1", "typescript": "^4.9.5", "vite": "^4.3.1", - "vite-plugin-ssr": "^0.4.116", + "vite-plugin-ssr": "^0.4.117", "vite-plugin-top-level-await": "^1.3.0", "vite-tsconfig-paths": "^4.2.0", "ws": "^8.13.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d3d6eb23..960ecfd8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -91,11 +91,11 @@ devDependencies: specifier: ^5.5.7 version: 5.5.7 '@typescript-eslint/eslint-plugin': - specifier: ^5.59.0 - version: 5.59.0(@typescript-eslint/parser@5.59.0)(eslint@8.39.0)(typescript@4.9.5) + specifier: ^5.59.1 + version: 5.59.1(@typescript-eslint/parser@5.59.1)(eslint@8.39.0)(typescript@4.9.5) '@typescript-eslint/parser': - specifier: ^5.59.0 - version: 5.59.0(eslint@8.39.0)(typescript@4.9.5) + specifier: ^5.59.1 + version: 5.59.1(eslint@8.39.0)(typescript@4.9.5) '@vitejs/plugin-react-swc': specifier: ^3.3.0 version: 3.3.0(vite@4.3.1) @@ -154,8 +154,8 @@ devDependencies: specifier: ^4.3.1 version: 4.3.1(@types/node@18.16.0) vite-plugin-ssr: - specifier: ^0.4.116 - version: 0.4.116(vite@4.3.1) + specifier: ^0.4.117 + version: 0.4.117(vite@4.3.1) vite-plugin-top-level-await: specifier: ^1.3.0 version: 1.3.0(vite@4.3.1) @@ -833,9 +833,9 @@ packages: - supports-color dev: false - /@swc/core-darwin-arm64@1.3.53: + /@swc/core-darwin-arm64@1.3.54: resolution: - { integrity: sha512-JvWwV/duzdQ60iwWYceDhDk75LmdrLoPC7myX3Src3gl/bJtETMq7uHS9uY8m0GQOqbct7XGR3q5Ff21YxkSzg== } + { integrity: sha512-B1nTlkhTfzt95C/p+iWRaqwHTqqVWcqpHatnieIKxMCaceuZjvd7PeddbHmmrFFfjQqfs8UNzwrTVpgsFwCJWg== } engines: { node: '>=10' } cpu: [arm64] os: [darwin] @@ -843,9 +843,9 @@ packages: dev: true optional: true - /@swc/core-darwin-x64@1.3.53: + /@swc/core-darwin-x64@1.3.54: resolution: - { integrity: sha512-UuIGZtCfUPJM2Q01bRIFzmucOMg8UZ+mY3kh5xB8kl/VrLltBlraSWGjjJzYmUeUxiF8+CtMfeSYav5QfU2v3g== } + { integrity: sha512-FM+46dRyvJySCrDIDARamycjl/LB9taQCFQg5QpQmQFwIkZ7GIaiQUZO9cdrZUBGPJJCsm7o2FG4ufwnVsCHHA== } engines: { node: '>=10' } cpu: [x64] os: [darwin] @@ -853,9 +853,9 @@ packages: dev: true optional: true - /@swc/core-linux-arm-gnueabihf@1.3.53: + /@swc/core-linux-arm-gnueabihf@1.3.54: resolution: - { integrity: sha512-LupAjTErteyLmowYIfiQeTz3uVh7/SPYv/EuG1PYrajNoUYomt7WA0rQUoyglF9VtwVyNqxptWEO5So32ApTHA== } + { integrity: sha512-5EfxTKllNm+ucjuo3WNhwHfY417UwqCsaqjJnveXgn5DU+6/ft96skdpD+xrBp5ejMNzem8xYambOrBLzs2QDw== } engines: { node: '>=10' } cpu: [arm] os: [linux] @@ -863,9 +863,9 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-gnu@1.3.53: + /@swc/core-linux-arm64-gnu@1.3.54: resolution: - { integrity: sha512-kREfZdiJH/O8GtJJ22wVN9DVzz/+CPAkw5Mn5te2KQg0xJHMWaESU5XeYMWvtwyOQVmb31b6zCGFy3pnBWWfGw== } + { integrity: sha512-4AmBlRaelUYcW9aR/q3z8UiNYsQ/1JtinETCZBye08wnwK81ITriYcHTBPP8Ix8IZtkcvpsN/SsGAnLNcrpRBQ== } engines: { node: '>=10' } cpu: [arm64] os: [linux] @@ -873,9 +873,9 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-musl@1.3.53: + /@swc/core-linux-arm64-musl@1.3.54: resolution: - { integrity: sha512-VeAgomBr6BVuBRjZjRHmvp5gKp1nZgbbd441ca1AvsPd2c+ZyhyHLxTWeHOzBDa/vYnmi9BCwx3QJzFqbAFPVw== } + { integrity: sha512-twgmC6wfH2WW5mlG/rHk4GnbDZ2UDetF0PMJt/ICmgBwJsDSf71WSI9CA5b/F1wE9DE0ofyo+yukjuj9TtPvOQ== } engines: { node: '>=10' } cpu: [arm64] os: [linux] @@ -883,9 +883,9 @@ packages: dev: true optional: true - /@swc/core-linux-x64-gnu@1.3.53: + /@swc/core-linux-x64-gnu@1.3.54: resolution: - { integrity: sha512-LFX5+QpQkESPkmx860C40pIiYf1utEqoA+WDtmKnUz3DucYvw3eGlXCBdyklP7UBWwJktKIcPlIqr7yROY5VlQ== } + { integrity: sha512-/dE+z0pF1R0vvXPTQ43+cypltfbZDI0C3WuDMkb1KIaQS7yiaufzzWIVGfJisoKGxpyk3ABSSPcStEqedpvJ+w== } engines: { node: '>=10' } cpu: [x64] os: [linux] @@ -893,9 +893,9 @@ packages: dev: true optional: true - /@swc/core-linux-x64-musl@1.3.53: + /@swc/core-linux-x64-musl@1.3.54: resolution: - { integrity: sha512-O0lbJgeaM0VEsG8wFYvpF+Iuf0IENv+LnXHoygkAsv67sVW54+gFxav2sEdkftD5qYe9ku4tmtTVYRZlFgC84Q== } + { integrity: sha512-/dGU5pCaPYEaaPAPt+Fa+9cCTNuhmtdTpxwUX0ZF3VlWAf3QPoTcPYkUDEOvWcl3g8RpEr7ZGp9beVCp2NpLpA== } engines: { node: '>=10' } cpu: [x64] os: [linux] @@ -903,9 +903,9 @@ packages: dev: true optional: true - /@swc/core-win32-arm64-msvc@1.3.53: + /@swc/core-win32-arm64-msvc@1.3.54: resolution: - { integrity: sha512-7PgvPl0aNLaFZSK+rIi4DB1g0aW2qOsTIJQSJGRszsCP8pze/traXymyuSG2I3y9Hx7Z+bP5ycJydyAgCw88WA== } + { integrity: sha512-gpqOqHB7fHqTApS8pvW1/oMCcfEH1LxRU81KqUGY/MXR3DDwpnDY3ycyCzRB4tpNr91ZpgzUtrlx8OQCHq75uw== } engines: { node: '>=10' } cpu: [arm64] os: [win32] @@ -913,9 +913,9 @@ packages: dev: true optional: true - /@swc/core-win32-ia32-msvc@1.3.53: + /@swc/core-win32-ia32-msvc@1.3.54: resolution: - { integrity: sha512-T+OacGm69t8+1mt1sHlwhREiFiFgSeIGL3h11FIs8o2zKnOr5z2H9myzR432X8WuHGVQAOCMvDu53LCMBD0ZzQ== } + { integrity: sha512-2h+EnYoEDZcPfoGCKU4F/gbDz0Dw+vQG7b5rxwo6IWFhB2mGOMiYZzbIo6LVyFRoSXNVNa88Yov18pgfeM9gMw== } engines: { node: '>=10' } cpu: [ia32] os: [win32] @@ -923,9 +923,9 @@ packages: dev: true optional: true - /@swc/core-win32-x64-msvc@1.3.53: + /@swc/core-win32-x64-msvc@1.3.54: resolution: - { integrity: sha512-uV1/GhROJ/SXzj+f+kKcVtR2GuAiggvbqepzZS46+G47okf6229hr2T1fjmiwYyA75w9R3Bj/wil4UhodohOLg== } + { integrity: sha512-//W/mqIVuOxMRVI3ojCF6jKLpugu6sSSsCaBpM9GdDVGAaAt0UdivKzecqHIt2PGoN6l1mT73Zy+083PvkPhHQ== } engines: { node: '>=10' } cpu: [x64] os: [win32] @@ -933,9 +933,9 @@ packages: dev: true optional: true - /@swc/core@1.3.53: + /@swc/core@1.3.54: resolution: - { integrity: sha512-OM5nCfKDZXr1HjxD072Jlx5463tPX7xeY7NDSRE3X4KFlkRDFdyMWAyV3pet1oouOfUNrzzoVTAR4XSU8ytO6Q== } + { integrity: sha512-/BCIn698CHkQz3d3VY5W5BHagbwkKen295mDM+JPfDepLsLy3lKtD1+GZqZYKVQDebUj90eAn7OD+qBrAxPtaA== } engines: { node: '>=10' } requiresBuild: true peerDependencies: @@ -944,16 +944,16 @@ packages: '@swc/helpers': optional: true optionalDependencies: - '@swc/core-darwin-arm64': 1.3.53 - '@swc/core-darwin-x64': 1.3.53 - '@swc/core-linux-arm-gnueabihf': 1.3.53 - '@swc/core-linux-arm64-gnu': 1.3.53 - '@swc/core-linux-arm64-musl': 1.3.53 - '@swc/core-linux-x64-gnu': 1.3.53 - '@swc/core-linux-x64-musl': 1.3.53 - '@swc/core-win32-arm64-msvc': 1.3.53 - '@swc/core-win32-ia32-msvc': 1.3.53 - '@swc/core-win32-x64-msvc': 1.3.53 + '@swc/core-darwin-arm64': 1.3.54 + '@swc/core-darwin-x64': 1.3.54 + '@swc/core-linux-arm-gnueabihf': 1.3.54 + '@swc/core-linux-arm64-gnu': 1.3.54 + '@swc/core-linux-arm64-musl': 1.3.54 + '@swc/core-linux-x64-gnu': 1.3.54 + '@swc/core-linux-x64-musl': 1.3.54 + '@swc/core-win32-arm64-msvc': 1.3.54 + '@swc/core-win32-ia32-msvc': 1.3.54 + '@swc/core-win32-x64-msvc': 1.3.54 dev: true /@tailwindcss/typography@0.5.9(tailwindcss@3.3.1): @@ -1157,9 +1157,9 @@ packages: { integrity: sha512-W8F4eoTIvzXeNrT3JroQPimZLXnlJA8smYygHZUKFPVoYwgs/OhJkA1VBhL3iSs57OQkuINqHlY4SmMT5wtnJg== } dev: true - /@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0)(eslint@8.39.0)(typescript@4.9.5): + /@typescript-eslint/eslint-plugin@5.59.1(@typescript-eslint/parser@5.59.1)(eslint@8.39.0)(typescript@4.9.5): resolution: - { integrity: sha512-p0QgrEyrxAWBecR56gyn3wkG15TJdI//eetInP3zYRewDh0XS+DhB3VUAd3QqvziFsfaQIoIuZMxZRB7vXYaYw== } + { integrity: sha512-AVi0uazY5quFB9hlp2Xv+ogpfpk77xzsgsIEWyVS7uK/c7MZ5tw7ZPbapa0SbfkqE0fsAMkz5UwtgMLVk2BQAg== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -1170,10 +1170,10 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.5.0 - '@typescript-eslint/parser': 5.59.0(eslint@8.39.0)(typescript@4.9.5) - '@typescript-eslint/scope-manager': 5.59.0 - '@typescript-eslint/type-utils': 5.59.0(eslint@8.39.0)(typescript@4.9.5) - '@typescript-eslint/utils': 5.59.0(eslint@8.39.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.59.1(eslint@8.39.0)(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.59.1 + '@typescript-eslint/type-utils': 5.59.1(eslint@8.39.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.59.1(eslint@8.39.0)(typescript@4.9.5) debug: 4.3.4 eslint: 8.39.0 grapheme-splitter: 1.0.4 @@ -1186,9 +1186,9 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@5.59.0(eslint@8.39.0)(typescript@4.9.5): + /@typescript-eslint/parser@5.59.1(eslint@8.39.0)(typescript@4.9.5): resolution: - { integrity: sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w== } + { integrity: sha512-nzjFAN8WEu6yPRDizIFyzAfgK7nybPodMNFGNH0M9tei2gYnYszRDqVA0xlnRjkl7Hkx2vYrEdb6fP2a21cG1g== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1197,9 +1197,9 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.59.0 - '@typescript-eslint/types': 5.59.0 - '@typescript-eslint/typescript-estree': 5.59.0(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.59.1 + '@typescript-eslint/types': 5.59.1 + '@typescript-eslint/typescript-estree': 5.59.1(typescript@4.9.5) debug: 4.3.4 eslint: 8.39.0 typescript: 4.9.5 @@ -1207,18 +1207,18 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager@5.59.0: + /@typescript-eslint/scope-manager@5.59.1: resolution: - { integrity: sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ== } + { integrity: sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: - '@typescript-eslint/types': 5.59.0 - '@typescript-eslint/visitor-keys': 5.59.0 + '@typescript-eslint/types': 5.59.1 + '@typescript-eslint/visitor-keys': 5.59.1 dev: true - /@typescript-eslint/type-utils@5.59.0(eslint@8.39.0)(typescript@4.9.5): + /@typescript-eslint/type-utils@5.59.1(eslint@8.39.0)(typescript@4.9.5): resolution: - { integrity: sha512-d/B6VSWnZwu70kcKQSCqjcXpVH+7ABKH8P1KNn4K7j5PXXuycZTPXF44Nui0TEm6rbWGi8kc78xRgOC4n7xFgA== } + { integrity: sha512-ZMWQ+Oh82jWqWzvM3xU+9y5U7MEMVv6GLioM3R5NJk6uvP47kZ7YvlgSHJ7ERD6bOY7Q4uxWm25c76HKEwIjZw== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: '*' @@ -1227,8 +1227,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.59.0(typescript@4.9.5) - '@typescript-eslint/utils': 5.59.0(eslint@8.39.0)(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.59.1(typescript@4.9.5) + '@typescript-eslint/utils': 5.59.1(eslint@8.39.0)(typescript@4.9.5) debug: 4.3.4 eslint: 8.39.0 tsutils: 3.21.0(typescript@4.9.5) @@ -1237,15 +1237,15 @@ packages: - supports-color dev: true - /@typescript-eslint/types@5.59.0: + /@typescript-eslint/types@5.59.1: resolution: - { integrity: sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA== } + { integrity: sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true - /@typescript-eslint/typescript-estree@5.59.0(typescript@4.9.5): + /@typescript-eslint/typescript-estree@5.59.1(typescript@4.9.5): resolution: - { integrity: sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg== } + { integrity: sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: typescript: '*' @@ -1253,8 +1253,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.59.0 - '@typescript-eslint/visitor-keys': 5.59.0 + '@typescript-eslint/types': 5.59.1 + '@typescript-eslint/visitor-keys': 5.59.1 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -1265,9 +1265,9 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@5.59.0(eslint@8.39.0)(typescript@4.9.5): + /@typescript-eslint/utils@5.59.1(eslint@8.39.0)(typescript@4.9.5): resolution: - { integrity: sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA== } + { integrity: sha512-MkTe7FE+K1/GxZkP5gRj3rCztg45bEhsd8HYjczBuYm+qFHP5vtZmjx3B0yUCDotceQ4sHgTyz60Ycl225njmA== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1275,9 +1275,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.39.0) '@types/json-schema': 7.0.11 '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.59.0 - '@typescript-eslint/types': 5.59.0 - '@typescript-eslint/typescript-estree': 5.59.0(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.59.1 + '@typescript-eslint/types': 5.59.1 + '@typescript-eslint/typescript-estree': 5.59.1(typescript@4.9.5) eslint: 8.39.0 eslint-scope: 5.1.1 semver: 7.5.0 @@ -1286,12 +1286,12 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys@5.59.0: + /@typescript-eslint/visitor-keys@5.59.1: resolution: - { integrity: sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA== } + { integrity: sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: - '@typescript-eslint/types': 5.59.0 + '@typescript-eslint/types': 5.59.1 eslint-visitor-keys: 3.4.0 dev: true @@ -1319,7 +1319,7 @@ packages: peerDependencies: vite: ^4 dependencies: - '@swc/core': 1.3.53 + '@swc/core': 1.3.54 vite: 4.3.1(@types/node@18.16.0) transitivePeerDependencies: - '@swc/helpers' @@ -1545,7 +1545,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001481 - electron-to-chromium: 1.4.369 + electron-to-chromium: 1.4.371 node-releases: 2.0.10 update-browserslist-db: 1.0.11(browserslist@4.21.5) dev: true @@ -1849,9 +1849,9 @@ packages: { integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== } dev: true - /electron-to-chromium@1.4.369: + /electron-to-chromium@1.4.371: resolution: - { integrity: sha512-LfxbHXdA/S+qyoTEA4EbhxGjrxx7WK2h6yb5K2v0UCOufUKX+VZaHbl3svlzZfv9sGseym/g3Ne4DpsgRULmqg== } + { integrity: sha512-jlBzY4tFcJaiUjzhRTCWAqRvTO/fWzjA3Bls0mykzGZ7zvcMP7h05W6UcgzfT9Ca1SW2xyKDOFRyI0pQeRNZGw== } dev: true /emoji-regex@8.0.0: @@ -2873,7 +2873,7 @@ packages: object-inspect: 1.12.3 pidtree: 0.6.0 string-argv: 0.3.1 - yaml: 2.2.1 + yaml: 2.2.2 transitivePeerDependencies: - enquirer - supports-color @@ -3764,9 +3764,9 @@ packages: { integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== } dev: true - /sirv@2.0.2: + /sirv@2.0.3: resolution: - { integrity: sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w== } + { integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA== } engines: { node: '>= 10' } dependencies: '@polka/url': 1.0.0-next.21 @@ -4232,9 +4232,9 @@ packages: type-fest: 3.8.0 dev: false - /vite-plugin-ssr@0.4.116(vite@4.3.1): + /vite-plugin-ssr@0.4.117(vite@4.3.1): resolution: - { integrity: sha512-GtXvlUtwnLdrnfuodJhcs+kV1BXyoUhECjqdoC1pSU+7dRKyU7A9V6NmkT7yPbHu1s8bWSgqC/EP91F4DSt4rA== } + { integrity: sha512-jebuK9HGNTpwbNlhIygTmNX8W9ZJTClUv/V5MfvRbVGqL0jGkYbsKKwzRNbUDm5EMqblbFf9mMHt6KSIuh/YJQ== } engines: { node: '>=12.19.0' } hasBin: true peerDependencies: @@ -4253,7 +4253,7 @@ packages: esbuild: 0.17.18 fast-glob: 3.2.12 picocolors: 1.0.0 - sirv: 2.0.2 + sirv: 2.0.3 vite: 4.3.1(@types/node@18.16.0) dev: true @@ -4264,7 +4264,7 @@ packages: vite: '>=2.8' dependencies: '@rollup/plugin-virtual': 3.0.1 - '@swc/core': 1.3.53 + '@swc/core': 1.3.54 uuid: 9.0.0 vite: 4.3.1(@types/node@18.16.0) transitivePeerDependencies: @@ -4446,9 +4446,9 @@ packages: engines: { node: '>= 6' } dev: true - /yaml@2.2.1: + /yaml@2.2.2: resolution: - { integrity: sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw== } + { integrity: sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA== } engines: { node: '>= 14' } dev: true diff --git a/src-tauri/migrations/20230425023912_add_pubkey_to_channel.sql b/src-tauri/migrations/20230425023912_add_pubkey_to_channel.sql new file mode 100644 index 00000000..61d01078 --- /dev/null +++ b/src-tauri/migrations/20230425023912_add_pubkey_to_channel.sql @@ -0,0 +1,3 @@ +-- Add migration script here +-- add pubkey to channel +ALTER TABLE channels ADD pubkey TEXT NOT NULL DEFAULT ''; \ No newline at end of file diff --git a/src-tauri/migrations/20230425024708_add_default_channels.sql b/src-tauri/migrations/20230425024708_add_default_channels.sql new file mode 100644 index 00000000..04800643 --- /dev/null +++ b/src-tauri/migrations/20230425024708_add_default_channels.sql @@ -0,0 +1,40 @@ +-- Add migration script here +INSERT +OR IGNORE INTO channels (event_id, pubkey, metadata, created_at) +VALUES + ( + "e3cadf5beca1b2af1cddaa41a633679bedf263e3de1eb229c6686c50d85df753", + "126103bfddc8df256b6e0abfd7f3797c80dcc4ea88f7c2f87dd4104220b4d65f", + '{"name":"lume-general","picture":"https://void.cat/d/UNyxBmAh1MUx5gQTX95jyf.webp","about":"General channel for Lume"}', + 1681898574 + ); + +INSERT +OR IGNORE INTO channels (event_id, pubkey, metadata, created_at) +VALUES + ( + "1abf8948d2fd05dd1836b33b324dca65138b2e80c77b27eeeed4323246efba4d", + "126103bfddc8df256b6e0abfd7f3797c80dcc4ea88f7c2f87dd4104220b4d65f", + '{"picture":"https://void.cat/d/MsqUKXXC4SxDfmT2KiHovJ.webp","name":"Arcade Open R&D","about":""}', + 1682252461 + ); + +INSERT +OR IGNORE INTO channels (event_id, pubkey, metadata, created_at) +VALUES + ( + "42224859763652914db53052103f0b744df79dfc4efef7e950fc0802fc3df3c5", + "460c25e682fda7832b52d1f22d3d22b3176d972f60dcdc3212ed8c92ef85065c", + '{"about":"General discussion about the Amethyst Nostr client for Android","name":"Amethyst Users","picture":"https://nostr.build/i/5970.png"}', + 1674092111 + ); + +INSERT +OR IGNORE INTO channels (event_id, pubkey, metadata, created_at) +VALUES + ( + "25e5c82273a271cb1a840d0060391a0bf4965cafeb029d5ab55350b418953fbb", + "ed1d0e1f743a7d19aa2dfb0162df73bacdbc699f67cc55bb91a98c35f7deac69", + '{"about":"","name":"Nostr","picture":"https://cloudflare-ipfs.com/ipfs/QmTN4Eas9atUULVbEAbUU8cowhtvK7g3t7jfKztY7wc8eP?.png"}', + 1661333723 + ); \ No newline at end of file diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index eac65c05..8c2a1942 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -69,6 +69,18 @@ fn main() { sql: include_str!("../migrations/20230420040005_insert_last_login_to_settings.sql"), kind: MigrationKind::Up, }, + Migration { + version: 20230425023912, + description: "add pubkey to channel", + sql: include_str!("../migrations/20230425023912_add_pubkey_to_channel.sql"), + kind: MigrationKind::Up, + }, + Migration { + version: 20230425024708, + description: "add default channels", + sql: include_str!("../migrations/20230425024708_add_default_channels.sql"), + kind: MigrationKind::Up, + }, ], ) .build(), diff --git a/src/components/channels/channelList.tsx b/src/components/channels/channelList.tsx index 5c2c4c36..1a1bd47b 100644 --- a/src/components/channels/channelList.tsx +++ b/src/components/channels/channelList.tsx @@ -1,24 +1,17 @@ import { ChannelListItem } from '@components/channels/channelListItem'; import { CreateChannelModal } from '@components/channels/createChannelModal'; -import { channelsAtom, defaultChannelsAtom } from '@stores/channel'; +let channels: any = []; -import { useAtomValue } from 'jotai'; +if (typeof window !== 'undefined') { + const { getChannels } = await import('@utils/storage'); + channels = await getChannels(100, 0); +} export default function ChannelList() { - let atom; - - if (typeof window !== 'undefined') { - atom = channelsAtom; - } else { - atom = defaultChannelsAtom; - } - - const list: any = useAtomValue(atom); - return (
- {list.map((item: { event_id: string }) => ( + {channels.map((item: { event_id: string }) => ( ))} diff --git a/src/components/channels/channelListItem.tsx b/src/components/channels/channelListItem.tsx index 86219c29..e7699c1a 100644 --- a/src/components/channels/channelListItem.tsx +++ b/src/components/channels/channelListItem.tsx @@ -20,12 +20,8 @@ export const ChannelListItem = ({ data }: { data: any }) => { pageID === data.event_id ? 'dark:bg-zinc-900 dark:text-zinc-100 hover:dark:bg-zinc-800' : '' )} > -
- {data.event_id} +
+ {data.event_id}
{channel?.name}
diff --git a/src/components/channels/channelProfile.tsx b/src/components/channels/channelProfile.tsx index e8f43166..3d3f0590 100644 --- a/src/components/channels/channelProfile.tsx +++ b/src/components/channels/channelProfile.tsx @@ -1,5 +1,6 @@ import { useChannelMetadata } from '@utils/hooks/useChannelMetadata'; +import { Copy } from 'iconoir-react'; import { nip19 } from 'nostr-tools'; import Skeleton from 'react-loading-skeleton'; @@ -7,13 +8,23 @@ export const ChannelProfile = ({ id }: { id: string }) => { const metadata = useChannelMetadata(id); const noteID = nip19.noteEncode(id); + const copyNoteID = async () => { + const { writeText } = await import('@tauri-apps/api/clipboard'); + await writeText(noteID); + }; + return (
- } alt={id} className="h-8 w-8 rounded bg-zinc-900 object-cover" /> + } alt={id} className="h-8 w-8 rounded bg-zinc-900 object-contain" />
-
{metadata?.name || }
+
+
{metadata?.name || }
+ +

{metadata?.about || noteID.substring(0, 24) + '...' || }

diff --git a/src/pages/index.page.tsx b/src/pages/index.page.tsx index 9d0c4e2a..b1367642 100644 --- a/src/pages/index.page.tsx +++ b/src/pages/index.page.tsx @@ -5,7 +5,6 @@ import { DEFAULT_RELAYS } from '@stores/constants'; import { dateToUnix, hoursAgo } from '@utils/getDate'; import { countTotalNotes, - createChannel, createChat, createNote, getActiveAccount, @@ -61,16 +60,6 @@ export function Page() { until: dateToUnix(now.current), }); } - // kind 40 (channels) query - /* - if (channels.total === 0) { - query.push({ - kinds: [40], - since: 0, - until: dateToUnix(now.current), - }); - } - */ // subscribe relays const unsubscribe = pool.subscribe( query, @@ -111,10 +100,6 @@ export function Page() { '' ); break; - // channel - case 40: - createChannel(event.id, event.content, event.created_at); - break; default: break; } diff --git a/src/utils/storage.tsx b/src/utils/storage.tsx index 87a3ad5a..a7bb29f5 100644 --- a/src/utils/storage.tsx +++ b/src/utils/storage.tsx @@ -128,13 +128,12 @@ export async function getChannel(id: string) { } // create channel -export async function createChannel(event_id: string, metadata: string, created_at: number) { +export async function createChannel(event_id: string, pubkey: string, metadata: string, created_at: number) { const db = await connect(); - return await db.execute('INSERT OR IGNORE INTO channels (event_id, metadata, created_at) VALUES (?, ?, ?);', [ - event_id, - metadata, - created_at, - ]); + return await db.execute( + 'INSERT OR IGNORE INTO channels (event_id, pubkey, metadata, created_at) VALUES (?, ?, ?, ?);', + [event_id, pubkey, metadata, created_at] + ); } // update channel metadata