diff --git a/package.json b/package.json index 37f0f0ac..738dacda 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "dependencies": { "@floating-ui/react": "^0.23.1", "@headlessui/react": "^1.7.15", - "@nostr-dev-kit/ndk": "^0.5.4", + "@nostr-dev-kit/ndk": "^0.5.13", "@tanstack/react-virtual": "3.0.0-beta.54", "@tauri-apps/api": "^1.4.0", "@vidstack/react": "^0.4.5", @@ -28,6 +28,7 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-hook-form": "^7.45.0", + "react-hotkeys-hook": "^4.4.0", "react-resizable-panels": "^0.0.48", "react-string-replace": "^1.1.1", "react-virtuoso": "^4.3.10", @@ -44,8 +45,8 @@ "@tailwindcss/typography": "^0.5.9", "@tauri-apps/cli": "^1.4.0", "@types/node": "^18.16.18", - "@types/react": "^18.2.12", - "@types/react-dom": "^18.2.5", + "@types/react": "^18.2.13", + "@types/react-dom": "^18.2.6", "@types/youtube-player": "^5.5.7", "@vitejs/plugin-react-swc": "^3.3.2", "autoprefixer": "^10.4.14", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 72fdd72c..f11c001b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,8 +8,8 @@ dependencies: specifier: ^1.7.15 version: 1.7.15(react-dom@18.2.0)(react@18.2.0) '@nostr-dev-kit/ndk': - specifier: ^0.5.4 - version: 0.5.4(typescript@4.9.5) + specifier: ^0.5.13 + version: 0.5.13(typescript@4.9.5) '@tanstack/react-virtual': specifier: 3.0.0-beta.54 version: 3.0.0-beta.54(react@18.2.0) @@ -18,7 +18,7 @@ dependencies: version: 1.4.0 '@vidstack/react': specifier: ^0.4.5 - version: 0.4.5(@types/react@18.2.12)(maverick.js@0.33.1)(media-icons@0.4.2)(react@18.2.0)(vidstack@0.4.5) + version: 0.4.5(@types/react@18.2.13)(maverick.js@0.33.1)(media-icons@0.4.2)(react@18.2.0)(vidstack@0.4.5) dayjs: specifier: ^1.11.8 version: 1.11.8 @@ -46,6 +46,9 @@ dependencies: react-hook-form: specifier: ^7.45.0 version: 7.45.0(react@18.2.0) + react-hotkeys-hook: + specifier: ^4.4.0 + version: 4.4.0(react-dom@18.2.0)(react@18.2.0) react-resizable-panels: specifier: ^0.0.48 version: 0.0.48(react-dom@18.2.0)(react@18.2.0) @@ -91,11 +94,11 @@ devDependencies: specifier: ^18.16.18 version: 18.16.18 '@types/react': - specifier: ^18.2.12 - version: 18.2.12 + specifier: ^18.2.13 + version: 18.2.13 '@types/react-dom': - specifier: ^18.2.5 - version: 18.2.5 + specifier: ^18.2.6 + version: 18.2.6 '@types/youtube-player': specifier: ^5.5.7 version: 5.5.7 @@ -411,8 +414,8 @@ packages: resolution: {integrity: sha512-Bu+AMaXNjrpjh41znzHqaz3r2Nr8hHuHZT6V2LBKMhyMl0FgKA62PNYbqnfgmzOhoWZj70Zecisbo4H1rotP5g==} dev: false - /@floating-ui/dom@1.4.1: - resolution: {integrity: sha512-loCXUOLzIC3jp50RFOKXZ/kQjjz26ryr/23M+FWG9jrmAv8lRf3DUfC2AiVZ3+K316GOhB08CR+Povwz8e9mDw==} + /@floating-ui/dom@1.4.2: + resolution: {integrity: sha512-VKmvHVatWnewmGGy+7Mdy4cTJX71Pli6v/Wjb5RQBuq5wjUYx+Ef+kRThi8qggZqDgD8CogCpqhRoVp3+yQk+g==} dependencies: '@floating-ui/core': 1.3.1 dev: false @@ -423,7 +426,7 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@floating-ui/dom': 1.4.1 + '@floating-ui/dom': 1.4.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -530,8 +533,8 @@ packages: resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} dev: false - /@maverick-js/signals@5.11.0: - resolution: {integrity: sha512-SpV3TAt8/ugELL2cI4mF70paHL3dnJbM69xSq7+z2BlsKeDwMK+oVXSq+WLgYANlfwkiOhZvvfQHo6Zo0muQVw==} + /@maverick-js/signals@5.11.1: + resolution: {integrity: sha512-yr6ZIpQxupgbDl6364t1L7bOSJqK2xiwjf8hoxJ632SL+0nBL0bLNCQaiK4GFRQEhYhBwX2yYyA+eKgZLEJ6mg==} dev: false /@noble/curves@1.0.0: @@ -571,20 +574,20 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 - /@nostr-dev-kit/ndk@0.5.4(typescript@4.9.5): - resolution: {integrity: sha512-A1JXJVJjyO8q53KXHnmFG6lf/b+7LSveLpHOJvUtcnbM/mkMtYlPJknMQ3i08oDdBO1j+nG3/8xYC3Y/8+arVw==} + /@nostr-dev-kit/ndk@0.5.13(typescript@4.9.5): + resolution: {integrity: sha512-Lu5vHzKmV3NrQyIxbneft7QlY2KpxOhsNOo1sN71z1b4plBSDrUT8xBgPTzm1itfL1Xw0kxy6pa/LSdVlsA3oQ==} dependencies: '@noble/hashes': 1.3.1 '@noble/secp256k1': 2.0.0 '@scure/base': 1.1.1 - '@typescript-eslint/eslint-plugin': 5.59.11(@typescript-eslint/parser@5.59.11)(eslint@8.43.0)(typescript@4.9.5) - '@typescript-eslint/parser': 5.59.11(eslint@8.43.0)(typescript@4.9.5) + '@typescript-eslint/eslint-plugin': 5.60.0(@typescript-eslint/parser@5.60.0)(eslint@8.43.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@4.9.5) debug: 4.3.4 esbuild: 0.17.19 esbuild-plugin-alias: 0.2.1 eslint: 8.43.0 eslint-config-prettier: 8.8.0(eslint@8.43.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.11)(eslint@8.43.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.60.0)(eslint@8.43.0) esm-loader-typescript: 1.0.4 eventemitter3: 5.0.1 light-bolt11-decoder: 3.0.0 @@ -699,8 +702,8 @@ packages: resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} dev: false - /@swc/core-darwin-arm64@1.3.65: - resolution: {integrity: sha512-fQIXZgr7CD/+1ADqrVbz/gHvSoIMmggHvPzguQjV8FggBuS9Efm1D1ZrdUSqptggKvuLLHMZf+49tENq8NWWcg==} + /@swc/core-darwin-arm64@1.3.66: + resolution: {integrity: sha512-UijJsvuLy73vxeVYEy7urIHksXS+3BdvJ9s9AY+bRMSQW483NO7RLp8g4FdTyJbRaN0BH15SQnY0dcjQBkVuHw==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] @@ -708,8 +711,8 @@ packages: dev: true optional: true - /@swc/core-darwin-x64@1.3.65: - resolution: {integrity: sha512-kGuWP7OP9mwOiIcJpEVa+ydC3Wxf0fPQ1MK0hUIPFcR6tAUEdOvdAuCzP6U20RX/JbbgwfI/Qq6ugT7VL6omgg==} + /@swc/core-darwin-x64@1.3.66: + resolution: {integrity: sha512-xGsHKvViQnwTNLF30Y/5OqWdnN6RsiyUI8awZXfz1sHcXCEaLe+v+WLQ+/E8sgw0YUkYVHzzfV/sAN2CezJK5Q==} engines: {node: '>=10'} cpu: [x64] os: [darwin] @@ -717,8 +720,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm-gnueabihf@1.3.65: - resolution: {integrity: sha512-Bjbzldp8n4mWSdAvBt4VuLiHlfFM5pyftjJvJnmSY4H1IzbxkByyT60OHOedcIPRiZveD8NJzUJqutqrgTmtLg==} + /@swc/core-linux-arm-gnueabihf@1.3.66: + resolution: {integrity: sha512-gNbLcSIV2pq90BkMSpzvK4xPXOl8GEF3YR4NaqF0CYSzQsVXXTTqMuX/r26xNYudBKzH0345S1MpoRk2qricnA==} engines: {node: '>=10'} cpu: [arm] os: [linux] @@ -726,8 +729,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-gnu@1.3.65: - resolution: {integrity: sha512-GmxtcCymeQqEqT9n5mo857koRsUbEwmuijrBA4OeD5KOPW9gqAmUxr+ZgwgYHwyJ3CiN+UbK8uEqPsL6UVQmLg==} + /@swc/core-linux-arm64-gnu@1.3.66: + resolution: {integrity: sha512-cJSQ0oplyWbJqy4rzVcnBYLAi6z1QT3QCcR7iAey0aAmCvfRBZJfXlyjggMjn4iosuadkauwCZR1xYNhBDRn7w==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -735,8 +738,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-musl@1.3.65: - resolution: {integrity: sha512-yv9jP3gbfMsYrqswT2MwK5Q1+avSwRXAKo+LYUknTeoLQNNlukDfqSLHajNq23XrVDRP4B3Pjn7kaqjxRcihbg==} + /@swc/core-linux-arm64-musl@1.3.66: + resolution: {integrity: sha512-GDQZpcB9aGxG9PTA2shdIkoMZlGK5omJ8NR49uoBTtLBVYiGeXAwV0U1Uaw8kXEZj9i7wZDkvjzjSaNH3evRsg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -744,8 +747,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-gnu@1.3.65: - resolution: {integrity: sha512-GQkwysEPTlAOQ3jiTiedObzh6pBaf9RLaQqpGdCp+iKze9+BR+STBP0IIKhZDMPG/nWWNhrYFD/VMQxRoYPjfw==} + /@swc/core-linux-x64-gnu@1.3.66: + resolution: {integrity: sha512-lg8E4O/Pd9KfK0lajdinVMuGME8dSv7V9arhEpmlfGE2eXSDCWqDn5Htk5QVBstt9lt1lsRhWHJ/YYc2eQY30Q==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -753,8 +756,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-musl@1.3.65: - resolution: {integrity: sha512-ETzhOhtDluYFK4x73OTM9gVTMyzGd2WeWGlCu3WoT1EPPUwCqQpcAqI3TfEcP1ljFDG0pPkpYzVpwNf8yjQElg==} + /@swc/core-linux-x64-musl@1.3.66: + resolution: {integrity: sha512-lo8ZcAO/zL2pZWH+LZIyge8u2MklaeuT6+FpVVpBFktMVdYXbaVtzpvWbgRFBZHvL3SRDF+u8jxjtkXhvGUpTw==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -762,8 +765,8 @@ packages: dev: true optional: true - /@swc/core-win32-arm64-msvc@1.3.65: - resolution: {integrity: sha512-3weD0I6F8bggN0KOnbZkvYC1PBrT5wrvohpvtgijRsODxjoWwztozjawJxF3rqgVqlSI/+nA+JkrN48e2cxJjQ==} + /@swc/core-win32-arm64-msvc@1.3.66: + resolution: {integrity: sha512-cQoVwBuJY5WkHbfpCOlndNwYr1ZThatRjQQvKy540NUIeAEk9Fa6ozlDBtU75UdaWKtUG6YQ/bWz+KTemheVxw==} engines: {node: '>=10'} cpu: [arm64] os: [win32] @@ -771,8 +774,8 @@ packages: dev: true optional: true - /@swc/core-win32-ia32-msvc@1.3.65: - resolution: {integrity: sha512-i6c3D7E9Ca41HteW3+hn1OKQfjIabc2P0p1mJRXBkn+igwb+Ba6gXJc7NqhrlF8uZsDhhcGZTsAqBBtfcfTuHQ==} + /@swc/core-win32-ia32-msvc@1.3.66: + resolution: {integrity: sha512-y/FrAIINK4UBeUQQknGlWXEyjo+MBvjF7WkUf2KP7sNr9EHHy8+dXohAGd5Anz0eJrqOM1ZXR/GEjxRp7bGQ1Q==} engines: {node: '>=10'} cpu: [ia32] os: [win32] @@ -780,8 +783,8 @@ packages: dev: true optional: true - /@swc/core-win32-x64-msvc@1.3.65: - resolution: {integrity: sha512-tQ9hEDtwPZxQ2sYb2n8ypfmdMjobKAf6VSnChteLMktofU7o562op5pLS6D6QCP2AtL3lcwe1piTCgIhk4vmjA==} + /@swc/core-win32-x64-msvc@1.3.66: + resolution: {integrity: sha512-yI64ACzS14qFLrfyO12qW+f/UROTotzDeEbuyJAaPD2IZexoT1cICznI3sBmIfrSt33mVuW8eF5m3AG/NUImzw==} engines: {node: '>=10'} cpu: [x64] os: [win32] @@ -789,8 +792,8 @@ packages: dev: true optional: true - /@swc/core@1.3.65: - resolution: {integrity: sha512-d5iDiKWf12FBo6h9Fro2pcnLK6HSPbyZ7A1U5iFNpRRx8XEd4uGdKtf5NoXJ3GDLQDLXnNSLA82Cl6SfrJ1lyw==} + /@swc/core@1.3.66: + resolution: {integrity: sha512-Hpf91kH5ly7fHkWnApwryTQryT+TO4kMMPH3WyciUSQOWLE3UuQz1PtETHQQk7PZ/b1QF0qQurJrgfBr5bSKUA==} engines: {node: '>=10'} requiresBuild: true peerDependencies: @@ -799,16 +802,16 @@ packages: '@swc/helpers': optional: true optionalDependencies: - '@swc/core-darwin-arm64': 1.3.65 - '@swc/core-darwin-x64': 1.3.65 - '@swc/core-linux-arm-gnueabihf': 1.3.65 - '@swc/core-linux-arm64-gnu': 1.3.65 - '@swc/core-linux-arm64-musl': 1.3.65 - '@swc/core-linux-x64-gnu': 1.3.65 - '@swc/core-linux-x64-musl': 1.3.65 - '@swc/core-win32-arm64-msvc': 1.3.65 - '@swc/core-win32-ia32-msvc': 1.3.65 - '@swc/core-win32-x64-msvc': 1.3.65 + '@swc/core-darwin-arm64': 1.3.66 + '@swc/core-darwin-x64': 1.3.66 + '@swc/core-linux-arm-gnueabihf': 1.3.66 + '@swc/core-linux-arm64-gnu': 1.3.66 + '@swc/core-linux-arm64-musl': 1.3.66 + '@swc/core-linux-x64-gnu': 1.3.66 + '@swc/core-linux-x64-musl': 1.3.66 + '@swc/core-win32-arm64-msvc': 1.3.66 + '@swc/core-win32-ia32-msvc': 1.3.66 + '@swc/core-win32-x64-msvc': 1.3.66 dev: true /@tailwindcss/typography@0.5.9(tailwindcss@3.3.2): @@ -999,14 +1002,14 @@ packages: /@types/prop-types@15.7.5: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} - /@types/react-dom@18.2.5: - resolution: {integrity: sha512-sRQsOS/sCLnpQhR4DSKGTtWFE3FZjpQa86KPVbhUqdYMRZ9FEFcfAytKhR/vUG2rH1oFbOOej6cuD7MFSobDRQ==} + /@types/react-dom@18.2.6: + resolution: {integrity: sha512-2et4PDvg6PVCyS7fuTc4gPoksV58bW0RwSxWKcPRcHZf0PRUGq03TKcD/rUHe3azfV6/5/biUBJw+HhCQjaP0A==} dependencies: - '@types/react': 18.2.12 + '@types/react': 18.2.13 dev: true - /@types/react@18.2.12: - resolution: {integrity: sha512-ndmBMLCgn38v3SntMeoJaIrO6tGHYKMEBohCUmw8HoLLQdRMOIGXfeYaBTLe2lsFaSB3MOK1VXscYFnmLtTSmw==} + /@types/react@18.2.13: + resolution: {integrity: sha512-vJ+zElvi/Zn9cVXB5slX2xL8PZodPCwPRDpittQdw43JR2AJ5k3vKdgJJyneV/cYgIbLQUwXa9JVDvUZXGba+Q==} dependencies: '@types/prop-types': 15.7.5 '@types/scheduler': 0.16.3 @@ -1023,8 +1026,8 @@ packages: resolution: {integrity: sha512-W8F4eoTIvzXeNrT3JroQPimZLXnlJA8smYygHZUKFPVoYwgs/OhJkA1VBhL3iSs57OQkuINqHlY4SmMT5wtnJg==} dev: true - /@typescript-eslint/eslint-plugin@5.59.11(@typescript-eslint/parser@5.59.11)(eslint@8.43.0)(typescript@4.9.5): - resolution: {integrity: sha512-XxuOfTkCUiOSyBWIvHlUraLw/JT/6Io1365RO6ZuI88STKMavJZPNMU0lFcUTeQXEhHiv64CbxYxBNoDVSmghg==} + /@typescript-eslint/eslint-plugin@5.60.0(@typescript-eslint/parser@5.60.0)(eslint@8.43.0)(typescript@4.9.5): + resolution: {integrity: sha512-78B+anHLF1TI8Jn/cD0Q00TBYdMgjdOn980JfAVa9yw5sop8nyTfVOQAv6LWywkOGLclDBtv5z3oxN4w7jxyNg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -1035,10 +1038,10 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.5.1 - '@typescript-eslint/parser': 5.59.11(eslint@8.43.0)(typescript@4.9.5) - '@typescript-eslint/scope-manager': 5.59.11 - '@typescript-eslint/type-utils': 5.59.11(eslint@8.43.0)(typescript@4.9.5) - '@typescript-eslint/utils': 5.59.11(eslint@8.43.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.60.0 + '@typescript-eslint/type-utils': 5.60.0(eslint@8.43.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.60.0(eslint@8.43.0)(typescript@4.9.5) debug: 4.3.4 eslint: 8.43.0 grapheme-splitter: 1.0.4 @@ -1051,8 +1054,8 @@ packages: - supports-color dev: false - /@typescript-eslint/parser@5.59.11(eslint@8.43.0)(typescript@4.9.5): - resolution: {integrity: sha512-s9ZF3M+Nym6CAZEkJJeO2TFHHDsKAM3ecNkLuH4i4s8/RCPnF5JRip2GyviYkeEAcwGMJxkqG9h2dAsnA1nZpA==} + /@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@4.9.5): + resolution: {integrity: sha512-jBONcBsDJ9UoTWrARkRRCgDz6wUggmH5RpQVlt7BimSwaTkTjwypGzKORXbR4/2Hqjk9hgwlon2rVQAjWNpkyQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1061,9 +1064,9 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.59.11 - '@typescript-eslint/types': 5.59.11 - '@typescript-eslint/typescript-estree': 5.59.11(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.60.0 + '@typescript-eslint/types': 5.60.0 + '@typescript-eslint/typescript-estree': 5.60.0(typescript@4.9.5) debug: 4.3.4 eslint: 8.43.0 typescript: 4.9.5 @@ -1071,16 +1074,16 @@ packages: - supports-color dev: false - /@typescript-eslint/scope-manager@5.59.11: - resolution: {integrity: sha512-dHFOsxoLFtrIcSj5h0QoBT/89hxQONwmn3FOQ0GOQcLOOXm+MIrS8zEAhs4tWl5MraxCY3ZJpaXQQdFMc2Tu+Q==} + /@typescript-eslint/scope-manager@5.60.0: + resolution: {integrity: sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.59.11 - '@typescript-eslint/visitor-keys': 5.59.11 + '@typescript-eslint/types': 5.60.0 + '@typescript-eslint/visitor-keys': 5.60.0 dev: false - /@typescript-eslint/type-utils@5.59.11(eslint@8.43.0)(typescript@4.9.5): - resolution: {integrity: sha512-LZqVY8hMiVRF2a7/swmkStMYSoXMFlzL6sXV6U/2gL5cwnLWQgLEG8tjWPpaE4rMIdZ6VKWwcffPlo1jPfk43g==} + /@typescript-eslint/type-utils@5.60.0(eslint@8.43.0)(typescript@4.9.5): + resolution: {integrity: sha512-X7NsRQddORMYRFH7FWo6sA9Y/zbJ8s1x1RIAtnlj6YprbToTiQnM6vxcMu7iYhdunmoC0rUWlca13D5DVHkK2g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -1089,8 +1092,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.59.11(typescript@4.9.5) - '@typescript-eslint/utils': 5.59.11(eslint@8.43.0)(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.60.0(typescript@4.9.5) + '@typescript-eslint/utils': 5.60.0(eslint@8.43.0)(typescript@4.9.5) debug: 4.3.4 eslint: 8.43.0 tsutils: 3.21.0(typescript@4.9.5) @@ -1099,13 +1102,13 @@ packages: - supports-color dev: false - /@typescript-eslint/types@5.59.11: - resolution: {integrity: sha512-epoN6R6tkvBYSc+cllrz+c2sOFWkbisJZWkOE+y3xHtvYaOE6Wk6B8e114McRJwFRjGvYdJwLXQH5c9osME/AA==} + /@typescript-eslint/types@5.60.0: + resolution: {integrity: sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false - /@typescript-eslint/typescript-estree@5.59.11(typescript@4.9.5): - resolution: {integrity: sha512-YupOpot5hJO0maupJXixi6l5ETdrITxeo5eBOeuV7RSKgYdU3G5cxO49/9WRnJq9EMrB7AuTSLH/bqOsXi7wPA==} + /@typescript-eslint/typescript-estree@5.60.0(typescript@4.9.5): + resolution: {integrity: sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -1113,8 +1116,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.59.11 - '@typescript-eslint/visitor-keys': 5.59.11 + '@typescript-eslint/types': 5.60.0 + '@typescript-eslint/visitor-keys': 5.60.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -1125,8 +1128,8 @@ packages: - supports-color dev: false - /@typescript-eslint/utils@5.59.11(eslint@8.43.0)(typescript@4.9.5): - resolution: {integrity: sha512-didu2rHSOMUdJThLk4aZ1Or8IcO3HzCw/ZvEjTTIfjIrcdd5cvSIwwDy2AOlE7htSNp7QIZ10fLMyRCveesMLg==} + /@typescript-eslint/utils@5.60.0(eslint@8.43.0)(typescript@4.9.5): + resolution: {integrity: sha512-ba51uMqDtfLQ5+xHtwlO84vkdjrqNzOnqrnwbMHMRY8Tqeme8C2Q8Fc7LajfGR+e3/4LoYiWXUM6BpIIbHJ4hQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1134,9 +1137,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 5.59.11 - '@typescript-eslint/types': 5.59.11 - '@typescript-eslint/typescript-estree': 5.59.11(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.60.0 + '@typescript-eslint/types': 5.60.0 + '@typescript-eslint/typescript-estree': 5.60.0(typescript@4.9.5) eslint: 8.43.0 eslint-scope: 5.1.1 semver: 7.5.2 @@ -1145,15 +1148,15 @@ packages: - typescript dev: false - /@typescript-eslint/visitor-keys@5.59.11: - resolution: {integrity: sha512-KGYniTGG3AMTuKF9QBD7EIrvufkB6O6uX3knP73xbKLMpH+QRPcgnCxjWXSHjMRuOxFLovljqQgQpR0c7GvjoA==} + /@typescript-eslint/visitor-keys@5.60.0: + resolution: {integrity: sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.59.11 + '@typescript-eslint/types': 5.60.0 eslint-visitor-keys: 3.4.1 dev: false - /@vidstack/react@0.4.5(@types/react@18.2.12)(maverick.js@0.33.1)(media-icons@0.4.2)(react@18.2.0)(vidstack@0.4.5): + /@vidstack/react@0.4.5(@types/react@18.2.13)(maverick.js@0.33.1)(media-icons@0.4.2)(react@18.2.0)(vidstack@0.4.5): resolution: {integrity: sha512-spcim3+p1fMzkhHRKn5PS54YQjfThW5M3F2+R8tCT+wpsxbbCDa/TGdLBoIy2oC0LNziPkn0vlBWIZko9F5iig==} engines: {node: '>=16'} peerDependencies: @@ -1163,7 +1166,7 @@ packages: react: ^18.0.0 vidstack: 0.4.5 dependencies: - '@types/react': 18.2.12 + '@types/react': 18.2.13 maverick.js: 0.33.1 media-icons: 0.4.2 react: 18.2.0 @@ -1175,7 +1178,7 @@ packages: peerDependencies: vite: ^4 dependencies: - '@swc/core': 1.3.65 + '@swc/core': 1.3.66 vite: 4.3.9(@types/node@18.16.18) transitivePeerDependencies: - '@swc/helpers' @@ -1370,7 +1373,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.21.9 - caniuse-lite: 1.0.30001504 + caniuse-lite: 1.0.30001506 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -1414,8 +1417,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001504 - electron-to-chromium: 1.4.433 + caniuse-lite: 1.0.30001506 + electron-to-chromium: 1.4.435 node-releases: 2.0.12 update-browserslist-db: 1.0.11(browserslist@4.21.9) dev: true @@ -1482,8 +1485,8 @@ packages: engines: {node: '>=6'} dev: false - /caniuse-lite@1.0.30001504: - resolution: {integrity: sha512-5uo7eoOp2mKbWyfMXnGO9rJWOGU8duvzEiYITW+wivukL7yHH4gX9yuRaobu6El4jPxo6jKZfG+N6fB621GD/Q==} + /caniuse-lite@1.0.30001506: + resolution: {integrity: sha512-6XNEcpygZMCKaufIcgpQNZNf00GEqc7VQON+9Rd0K1bMYo8xhMZRAo5zpbnbMNizi4YNgIDAFrdykWsvY3H4Hw==} dev: true /chalk@2.4.2: @@ -1780,8 +1783,8 @@ packages: /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - /electron-to-chromium@1.4.433: - resolution: {integrity: sha512-MGO1k0w1RgrfdbLVwmXcDhHHuxCn2qRgR7dYsJvWFKDttvYPx6FNzCGG0c/fBBvzK2LDh3UV7Tt9awnHnvAAUQ==} + /electron-to-chromium@1.4.435: + resolution: {integrity: sha512-B0CBWVFhvoQCW/XtjRzgrmqcgVWg6RXOEM/dK59+wFV93BFGR6AeNKc4OyhM+T3IhJaOOG8o/V+33Y2mwJWtzw==} dev: true /emoji-regex@8.0.0: @@ -1984,7 +1987,7 @@ packages: - supports-color dev: false - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.59.11)(eslint-import-resolver-node@0.3.7)(eslint@8.43.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.60.0)(eslint-import-resolver-node@0.3.7)(eslint@8.43.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -2005,7 +2008,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.59.11(eslint@8.43.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@4.9.5) debug: 3.2.7 eslint: 8.43.0 eslint-import-resolver-node: 0.3.7 @@ -2013,7 +2016,7 @@ packages: - supports-color dev: false - /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.59.11)(eslint@8.43.0): + /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.60.0)(eslint@8.43.0): resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: @@ -2023,7 +2026,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.59.11(eslint@8.43.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@4.9.5) array-includes: 3.1.6 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 @@ -2031,7 +2034,7 @@ packages: doctrine: 2.1.0 eslint: 8.43.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.11)(eslint-import-resolver-node@0.3.7)(eslint@8.43.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.60.0)(eslint-import-resolver-node@0.3.7)(eslint@8.43.0) has: 1.0.3 is-core-module: 2.12.1 is-glob: 4.0.3 @@ -3075,7 +3078,7 @@ packages: resolution: {integrity: sha512-p8L5V62CV6TmHAngmRAopp231oJKeH77mJja5SsKOfvzrPRoThT/Jo9U0jMRB5iMykqkvyg2J5V5Agn6FPXDWQ==} engines: {node: '>=16'} dependencies: - '@maverick-js/signals': 5.11.0 + '@maverick-js/signals': 5.11.1 type-fest: 3.12.0 dev: false @@ -3623,8 +3626,8 @@ packages: engines: {node: '>=4'} dev: false - /pirates@4.0.5: - resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} + /pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} dev: true @@ -3786,6 +3789,16 @@ packages: react: 18.2.0 dev: false + /react-hotkeys-hook@4.4.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-wOaCWLwgT/f895CMJrR9hmzVf+gfL8IpjWDXWXKngBp9i6Xqzf0tvLv4VI8l3Vlsg/cc4C/Iik3Ck76L/Hj0tw==} + peerDependencies: + react: '>=16.8.1' + react-dom: '>=16.8.1' + dependencies: + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} dev: true @@ -4300,7 +4313,7 @@ packages: glob: 7.1.6 lines-and-columns: 1.2.4 mz: 2.7.0 - pirates: 4.0.5 + pirates: 4.0.6 ts-interface-checker: 0.1.13 dev: true @@ -4701,7 +4714,7 @@ packages: vite: '>=2.8' dependencies: '@rollup/plugin-virtual': 3.0.1 - '@swc/core': 1.3.65 + '@swc/core': 1.3.66 uuid: 9.0.0 vite: 4.3.9(@types/node@18.16.18) transitivePeerDependencies: diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 5f1be2f5..7def34e0 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -16,7 +16,7 @@ tauri-build = { version = "1.2", features = [] } [dependencies] serde_json = "1.0" serde = { version = "1.0", features = ["derive"] } -tauri = { version = "1.2", features = [ "global-shortcut-all", "clipboard-read-text", "clipboard-write-text", "dialog-open", "fs-read-dir", "fs-read-file", "http-all", "http-multipart", "notification-all", "os-all", "process-relaunch", "shell-open", "system-tray", "updater", "window-close", "window-start-dragging"] } +tauri = { version = "1.2", features = [ "clipboard-read-text", "clipboard-write-text", "dialog-open", "fs-read-dir", "fs-read-file", "http-all", "http-multipart", "notification-all", "os-all", "process-relaunch", "shell-open", "system-tray", "updater", "window-close", "window-start-dragging"] } tauri-plugin-single-instance = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "dev" } tauri-plugin-store = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "dev" } sqlx-cli = {version = "0.6.3", default-features = false, features = ["sqlite"] } diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 15cb0cd5..15834a51 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -22,7 +22,11 @@ "http": { "all": true, "request": true, - "scope": ["https://void.cat/*", "https://skrape.dev/*"] + "scope": [ + "https://void.cat/*", + "https://skrape.dev/*", + "https://lume.nu/*" + ] }, "fs": { "all": false, @@ -66,9 +70,6 @@ "exit": false, "relaunch": true, "relaunchDangerousAllowSymlinkMacos": false - }, - "globalShortcut": { - "all": true } }, "bundle": { diff --git a/src/app/auth/components/user.tsx b/src/app/auth/components/user.tsx index aee905ea..de47bff0 100644 --- a/src/app/auth/components/user.tsx +++ b/src/app/auth/components/user.tsx @@ -6,11 +6,23 @@ import { shortenKey } from "@utils/shortenKey"; export function User({ pubkey }: { pubkey: string }) { const { user } = useProfile(pubkey); + if (!user) { + return ( +
+
+
+ + +
+
+ ); + } + return (
{pubkey}
- {user?.displayName || user?.name} + {user.displayName || user.name} - {user?.nip05?.toLowerCase() || shortenKey(pubkey)} + {user.nip05?.toLowerCase() || shortenKey(pubkey)}
diff --git a/src/app/auth/pages/create/index.page.tsx b/src/app/auth/pages/create/index.page.tsx index 18a8ae4b..b9367bf1 100644 --- a/src/app/auth/pages/create/index.page.tsx +++ b/src/app/auth/pages/create/index.page.tsx @@ -1,3 +1,4 @@ +import { Button } from "@shared/button"; import { EyeOffIcon, EyeOnIcon } from "@shared/icons"; import { useActiveAccount } from "@stores/accounts"; import { generatePrivateKey, getPublicKey, nip19 } from "nostr-tools"; @@ -41,24 +42,22 @@ export function Page() { -
- -
+
-
+
- +
diff --git a/src/app/auth/pages/create/step-2/index.page.tsx b/src/app/auth/pages/create/step-2/index.page.tsx index 7329f4a2..5c1cc625 100644 --- a/src/app/auth/pages/create/step-2/index.page.tsx +++ b/src/app/auth/pages/create/step-2/index.page.tsx @@ -1,16 +1,16 @@ -import { NDKEvent, NDKPrivateKeySigner } from "@nostr-dev-kit/ndk"; import { AvatarUploader } from "@shared/avatarUploader"; +import { LoaderIcon } from "@shared/icons"; import { Image } from "@shared/image"; -import { RelayContext } from "@shared/relayProvider"; import { useActiveAccount } from "@stores/accounts"; import { DEFAULT_AVATAR } from "@stores/constants"; -import { useContext, useEffect, useState } from "react"; +import { useEffect, useState } from "react"; import { useForm } from "react-hook-form"; import { navigate } from "vite-plugin-ssr/client/router"; export function Page() { - const ndk = useContext(RelayContext); - const account = useActiveAccount((state: any) => state.account); + const createTempProfile = useActiveAccount( + (state: any) => state.createTempProfile, + ); const [image, setImage] = useState(DEFAULT_AVATAR); const [loading, setLoading] = useState(false); @@ -24,28 +24,13 @@ export function Page() { const onSubmit = (data: any) => { setLoading(true); - try { - const signer = new NDKPrivateKeySigner(account.privkey); - ndk.signer = signer; - - const event = new NDKEvent(ndk); - // build event - event.content = JSON.stringify(data); - event.kind = 0; - event.pubkey = account.pubkey; - event.tags = []; - // publish event - event.publish(); - + const profile = { ...data, name: data.displayName }; + createTempProfile(profile); // redirect to step 3 - setTimeout( - () => - navigate("/app/auth/create/step-3", { - overwriteLastHistoryEntry: true, - }), - 2000, - ); + navigate("/app/auth/create/step-3", { + overwriteLastHistoryEntry: true, + }); } catch { console.log("error"); } @@ -63,7 +48,7 @@ export function Page() { Create your profile -
+
-
-
-