From 3fe601cfc68198875e8adb5cb08fe8d6012369cf Mon Sep 17 00:00:00 2001 From: Ren Amamiya <123083837+reyamir@users.noreply.github.com> Date: Tue, 27 Jun 2023 20:53:52 +0700 Subject: [PATCH] polish --- package.json | 4 +- pnpm-lock.yaml | 131 +++++++++--------- src/app/space/components/blocks/image.tsx | 1 - src/libs/ndk.tsx | 2 +- src/shared/accounts/active.tsx | 20 ++- src/shared/composer/modal.tsx | 8 +- src/shared/composer/types/post.tsx | 14 +- src/shared/icons/index.tsx | 1 + src/shared/icons/signal.tsx | 24 ++++ src/shared/{multiAccounts.tsx => lumeBar.tsx} | 6 +- src/shared/navigation.tsx | 7 +- src/shared/notes/contents/kind1.tsx | 2 +- src/shared/notes/mentions/note.tsx | 2 +- src/shared/notes/note.tsx | 2 +- src/shared/notes/preview/image.tsx | 9 +- src/shared/relayManager.tsx | 13 ++ src/shared/user.tsx | 2 +- src/stores/composer.tsx | 13 +- src/stores/constants.tsx | 6 +- src/stores/note.tsx | 2 +- 20 files changed, 159 insertions(+), 110 deletions(-) create mode 100644 src/shared/icons/signal.tsx rename src/shared/{multiAccounts.tsx => lumeBar.tsx} (92%) create mode 100644 src/shared/relayManager.tsx diff --git a/package.json b/package.json index e0d7e0be..dbf37b18 100644 --- a/package.json +++ b/package.json @@ -16,8 +16,8 @@ "@floating-ui/react": "^0.23.1", "@headlessui/react": "^1.7.15", "@nostr-dev-kit/ndk": "^0.5.13", - "@tanstack/react-query": "^4.29.17", - "@tanstack/react-query-devtools": "^4.29.17", + "@tanstack/react-query": "^4.29.18", + "@tanstack/react-query-devtools": "^4.29.18", "@tanstack/react-virtual": "3.0.0-beta.54", "@tauri-apps/api": "^1.4.0", "cheerio": "1.0.0-rc.12", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 10c0f045..fa553709 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,11 +11,11 @@ dependencies: specifier: ^0.5.13 version: 0.5.13(typescript@4.9.5) '@tanstack/react-query': - specifier: ^4.29.17 - version: 4.29.17(react-dom@18.2.0)(react@18.2.0) + specifier: ^4.29.18 + version: 4.29.18(react-dom@18.2.0)(react@18.2.0) '@tanstack/react-query-devtools': - specifier: ^4.29.17 - version: 4.29.17(@tanstack/react-query@4.29.17)(react-dom@18.2.0)(react@18.2.0) + specifier: ^4.29.18 + version: 4.29.18(@tanstack/react-query@4.29.18)(react-dom@18.2.0)(react@18.2.0) '@tanstack/react-virtual': specifier: 3.0.0-beta.54 version: 3.0.0-beta.54(react@18.2.0) @@ -445,7 +445,7 @@ packages: aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - tabbable: 6.1.2 + tabbable: 6.2.0 dev: false /@headlessui/react@1.7.15(react-dom@18.2.0)(react@18.2.0): @@ -584,14 +584,14 @@ packages: '@noble/hashes': 1.3.1 '@noble/secp256k1': 2.0.0 '@scure/base': 1.1.1 - '@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) + '@typescript-eslint/eslint-plugin': 5.60.1(@typescript-eslint/parser@5.60.1)(eslint@8.43.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.60.1(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.60.0)(eslint@8.43.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.60.1)(eslint@8.43.0) esm-loader-typescript: 1.0.4 eventemitter3: 5.0.1 light-bolt11-decoder: 3.0.0 @@ -842,23 +842,23 @@ packages: resolution: {integrity: sha512-iDbO8yZOpm1lqgq6L8mpxGbKaoiyZSjthxEB3WGU7mNPYss9q4H3Q67+e2xXGwkemEVmtEX/WwvtFitrvVU8TA==} dev: false - /@tanstack/react-query-devtools@4.29.17(@tanstack/react-query@4.29.17)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Dgd7c7ToCzJrpuyDZ0Rwx5bXSqWICOaB8sNSzo8YtwpWXuJcQ074qgb0kko5/CzIVDxhbG8WX5dnUwr5Xqa++g==} + /@tanstack/react-query-devtools@4.29.18(@tanstack/react-query@4.29.18)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-MH0EFL1lDzYBLbhCeD7GaNku4pOE7bPEm5HIFGw4YdRrmDjkTkkbGWqDJ15odGwp7qOvOgLbCxyTCqfof29Dag==} peerDependencies: - '@tanstack/react-query': 4.29.17 + '@tanstack/react-query': 4.29.18 react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@tanstack/match-sorter-utils': 8.8.4 - '@tanstack/react-query': 4.29.17(react-dom@18.2.0)(react@18.2.0) + '@tanstack/react-query': 4.29.18(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) superjson: 1.12.4 use-sync-external-store: 1.2.0(react@18.2.0) dev: false - /@tanstack/react-query@4.29.17(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-udOy/jgqiBHBAP93YPAU3QoVYO+Rtx9HT/10xGDQzC8iQU/wIxcIaT/usX+1NSzoUFYU5hUcPaNErPWZnR7XgA==} + /@tanstack/react-query@4.29.18(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-CyoxrT8U7MWLZOdl0XLCiHC+W5cnXNELafFtzcsrwrALiUulONEfWFl6TzgvENfhC50OBjVGy/6Yl3YsIhAM6g==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -870,7 +870,6 @@ packages: optional: true dependencies: '@tanstack/query-core': 4.29.17 - client-only: 0.0.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) use-sync-external-store: 1.2.0(react@18.2.0) @@ -1079,8 +1078,8 @@ packages: resolution: {integrity: sha512-W8F4eoTIvzXeNrT3JroQPimZLXnlJA8smYygHZUKFPVoYwgs/OhJkA1VBhL3iSs57OQkuINqHlY4SmMT5wtnJg==} dev: true - /@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==} + /@typescript-eslint/eslint-plugin@5.60.1(@typescript-eslint/parser@5.60.1)(eslint@8.43.0)(typescript@4.9.5): + resolution: {integrity: sha512-KSWsVvsJsLJv3c4e73y/Bzt7OpqMCADUO846bHcuWYSYM19bldbAeDv7dYyV0jwkbMfJ2XdlzwjhXtuD7OY6bw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -1091,10 +1090,10 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.5.1 - '@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) + '@typescript-eslint/parser': 5.60.1(eslint@8.43.0)(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.60.1 + '@typescript-eslint/type-utils': 5.60.1(eslint@8.43.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.60.1(eslint@8.43.0)(typescript@4.9.5) debug: 4.3.4 eslint: 8.43.0 grapheme-splitter: 1.0.4 @@ -1107,8 +1106,8 @@ packages: - supports-color dev: false - /@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@4.9.5): - resolution: {integrity: sha512-jBONcBsDJ9UoTWrARkRRCgDz6wUggmH5RpQVlt7BimSwaTkTjwypGzKORXbR4/2Hqjk9hgwlon2rVQAjWNpkyQ==} + /@typescript-eslint/parser@5.60.1(eslint@8.43.0)(typescript@4.9.5): + resolution: {integrity: sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1117,9 +1116,9 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.60.0 - '@typescript-eslint/types': 5.60.0 - '@typescript-eslint/typescript-estree': 5.60.0(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.60.1 + '@typescript-eslint/types': 5.60.1 + '@typescript-eslint/typescript-estree': 5.60.1(typescript@4.9.5) debug: 4.3.4 eslint: 8.43.0 typescript: 4.9.5 @@ -1127,16 +1126,16 @@ packages: - supports-color dev: false - /@typescript-eslint/scope-manager@5.60.0: - resolution: {integrity: sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==} + /@typescript-eslint/scope-manager@5.60.1: + resolution: {integrity: sha512-Dn/LnN7fEoRD+KspEOV0xDMynEmR3iSHdgNsarlXNLGGtcUok8L4N71dxUgt3YvlO8si7E+BJ5Fe3wb5yUw7DQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.60.0 - '@typescript-eslint/visitor-keys': 5.60.0 + '@typescript-eslint/types': 5.60.1 + '@typescript-eslint/visitor-keys': 5.60.1 dev: false - /@typescript-eslint/type-utils@5.60.0(eslint@8.43.0)(typescript@4.9.5): - resolution: {integrity: sha512-X7NsRQddORMYRFH7FWo6sA9Y/zbJ8s1x1RIAtnlj6YprbToTiQnM6vxcMu7iYhdunmoC0rUWlca13D5DVHkK2g==} + /@typescript-eslint/type-utils@5.60.1(eslint@8.43.0)(typescript@4.9.5): + resolution: {integrity: sha512-vN6UztYqIu05nu7JqwQGzQKUJctzs3/Hg7E2Yx8rz9J+4LgtIDFWjjl1gm3pycH0P3mHAcEUBd23LVgfrsTR8A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -1145,8 +1144,8 @@ packages: typescript: optional: true dependencies: - '@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) + '@typescript-eslint/typescript-estree': 5.60.1(typescript@4.9.5) + '@typescript-eslint/utils': 5.60.1(eslint@8.43.0)(typescript@4.9.5) debug: 4.3.4 eslint: 8.43.0 tsutils: 3.21.0(typescript@4.9.5) @@ -1155,13 +1154,13 @@ packages: - supports-color dev: false - /@typescript-eslint/types@5.60.0: - resolution: {integrity: sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==} + /@typescript-eslint/types@5.60.1: + resolution: {integrity: sha512-zDcDx5fccU8BA0IDZc71bAtYIcG9PowaOwaD8rjYbqwK7dpe/UMQl3inJ4UtUK42nOCT41jTSCwg76E62JpMcg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false - /@typescript-eslint/typescript-estree@5.60.0(typescript@4.9.5): - resolution: {integrity: sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==} + /@typescript-eslint/typescript-estree@5.60.1(typescript@4.9.5): + resolution: {integrity: sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -1169,8 +1168,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.60.0 - '@typescript-eslint/visitor-keys': 5.60.0 + '@typescript-eslint/types': 5.60.1 + '@typescript-eslint/visitor-keys': 5.60.1 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -1181,8 +1180,8 @@ packages: - supports-color dev: false - /@typescript-eslint/utils@5.60.0(eslint@8.43.0)(typescript@4.9.5): - resolution: {integrity: sha512-ba51uMqDtfLQ5+xHtwlO84vkdjrqNzOnqrnwbMHMRY8Tqeme8C2Q8Fc7LajfGR+e3/4LoYiWXUM6BpIIbHJ4hQ==} + /@typescript-eslint/utils@5.60.1(eslint@8.43.0)(typescript@4.9.5): + resolution: {integrity: sha512-tiJ7FFdFQOWssFa3gqb94Ilexyw0JVxj6vBzaSpfN/8IhoKkDuSAenUKvsSHw2A/TMpJb26izIszTXaqygkvpQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1190,9 +1189,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.60.0 - '@typescript-eslint/types': 5.60.0 - '@typescript-eslint/typescript-estree': 5.60.0(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.60.1 + '@typescript-eslint/types': 5.60.1 + '@typescript-eslint/typescript-estree': 5.60.1(typescript@4.9.5) eslint: 8.43.0 eslint-scope: 5.1.1 semver: 7.5.3 @@ -1201,11 +1200,11 @@ packages: - typescript dev: false - /@typescript-eslint/visitor-keys@5.60.0: - resolution: {integrity: sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==} + /@typescript-eslint/visitor-keys@5.60.1: + resolution: {integrity: sha512-xEYIxKcultP6E/RMKqube11pGjXH1DCo60mQoWhVYyKfLkwbIVVjYxmOenNMxILx0TjCujPTjjnTIVzm09TXIw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.60.0 + '@typescript-eslint/types': 5.60.1 eslint-visitor-keys: 3.4.1 dev: false @@ -1346,7 +1345,7 @@ packages: resolution: {integrity: sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==} engines: {node: '>=10'} dependencies: - tslib: 2.5.3 + tslib: 2.6.0 dev: false /array-buffer-byte-length@1.0.0: @@ -1459,7 +1458,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001508 - electron-to-chromium: 1.4.440 + electron-to-chromium: 1.4.441 node-releases: 2.0.12 update-browserslist-db: 1.0.11(browserslist@4.21.9) dev: true @@ -1898,8 +1897,8 @@ packages: /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - /electron-to-chromium@1.4.440: - resolution: {integrity: sha512-r6dCgNpRhPwiWlxbHzZQ/d9swfPaEJGi8ekqRBwQYaR3WmA5VkqQfBWSDDjuJU1ntO+W9tHx8OHV/96Q8e0dVw==} + /electron-to-chromium@1.4.441: + resolution: {integrity: sha512-LlCgQ8zgYZPymf5H4aE9itwiIWH4YlCiv1HFLmmcBeFYi5E+3eaIFnjHzYtcFQbaKfAW+CqZ9pgxo33DZuoqPg==} dev: true /emoji-regex@8.0.0: @@ -2103,7 +2102,7 @@ packages: - supports-color dev: false - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.60.0)(eslint-import-resolver-node@0.3.7)(eslint@8.43.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-node@0.3.7)(eslint@8.43.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -2124,7 +2123,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.60.1(eslint@8.43.0)(typescript@4.9.5) debug: 3.2.7 eslint: 8.43.0 eslint-import-resolver-node: 0.3.7 @@ -2132,7 +2131,7 @@ packages: - supports-color dev: false - /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.60.0)(eslint@8.43.0): + /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.60.1)(eslint@8.43.0): resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: @@ -2142,7 +2141,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.60.1(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 @@ -2150,7 +2149,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.60.0)(eslint-import-resolver-node@0.3.7)(eslint@8.43.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.60.1)(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 @@ -2428,7 +2427,7 @@ packages: dependencies: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - tslib: 2.5.3 + tslib: 2.6.0 optionalDependencies: '@emotion/is-prop-valid': 0.8.8 dev: false @@ -4159,8 +4158,8 @@ packages: glob: 7.2.3 dev: false - /rollup@3.25.2: - resolution: {integrity: sha512-VLnkxZMDr3jpxgtmS8pQZ0UvhslmF4ADq/9w4erkctbgjCqLW9oa89fJuXEs4ZmgyoF7Dm8rMDKSS5b5u2hHUg==} + /rollup@3.25.3: + resolution: {integrity: sha512-ZT279hx8gszBj9uy5FfhoG4bZx8c+0A1sbqtr7Q3KNWIizpTdDEPZbV2xcbvHsnFp4MavCQYZyzApJ+virB8Yw==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: @@ -4189,7 +4188,7 @@ packages: /rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: - tslib: 2.5.3 + tslib: 2.6.0 dev: true /safe-buffer@5.2.1: @@ -4552,8 +4551,8 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /tabbable@6.1.2: - resolution: {integrity: sha512-qCN98uP7i9z0fIS4amQ5zbGBOq+OSigYeGvPy7NDk8Y9yncqDZ9pRPgfsc2PJIVM9RrJj7GIfuRgmjoUU9zTHQ==} + /tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} dev: false /tailwind-merge@1.13.2: @@ -4693,8 +4692,8 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: false - /tslib@2.5.3: - resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==} + /tslib@2.6.0: + resolution: {integrity: sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==} /tstl@2.5.13: resolution: {integrity: sha512-h9wayHHFI5+yqt8iau0vqH96cTNhezhZ/Fk/hrIdpfkiMu3lg9nzyvMfs5bIdX51IVzZO6DudLqhkL/rVXpT6g==} @@ -4938,7 +4937,7 @@ packages: '@types/node': 18.16.18 esbuild: 0.17.19 postcss: 8.4.24 - rollup: 3.25.2 + rollup: 3.25.3 optionalDependencies: fsevents: 2.3.2 dev: true diff --git a/src/app/space/components/blocks/image.tsx b/src/app/space/components/blocks/image.tsx index 36d41216..4a688d67 100644 --- a/src/app/space/components/blocks/image.tsx +++ b/src/app/space/components/blocks/image.tsx @@ -1,7 +1,6 @@ import { removeBlock } from "@libs/storage"; import { CancelIcon } from "@shared/icons"; import { Image } from "@shared/image"; -import { TitleBar } from "@shared/titleBar"; import { DEFAULT_AVATAR } from "@stores/constants"; import { useMutation, useQueryClient } from "@tanstack/react-query"; diff --git a/src/libs/ndk.tsx b/src/libs/ndk.tsx index a18c40ab..5bd0b90a 100644 --- a/src/libs/ndk.tsx +++ b/src/libs/ndk.tsx @@ -51,7 +51,7 @@ export async function prefetchEvents( }); relaySetSubscription.on("eose", () => { - setTimeout(() => resolve(new Set(events.values())), 3000); + setTimeout(() => resolve(new Set(events.values())), 1200); }); }); } diff --git a/src/shared/accounts/active.tsx b/src/shared/accounts/active.tsx index 366caa3c..88322647 100644 --- a/src/shared/accounts/active.tsx +++ b/src/shared/accounts/active.tsx @@ -88,20 +88,18 @@ export function ActiveAccount({ data }: { data: any }) { }, []); if (status === "loading") { - return
; + return
; } return ( -
-
- {data.npub} - -
+
+ {data.npub} +
); } diff --git a/src/shared/composer/modal.tsx b/src/shared/composer/modal.tsx index c84631a2..1a030e65 100644 --- a/src/shared/composer/modal.tsx +++ b/src/shared/composer/modal.tsx @@ -17,7 +17,7 @@ import { useHotkeys } from "react-hotkeys-hook"; export function Composer() { const { account } = useAccount(); - const [toggle, open] = useComposer((state: any) => [ + const [toggle, open] = useComposer((state) => [ state.toggleModal, state.open, ]); @@ -57,7 +57,7 @@ export function Composer() { leaveFrom="opacity-100 scale-100" leaveTo="opacity-0 scale-95" > - +
{account && }
@@ -85,9 +85,7 @@ export function Composer() { />
- {account && ( - - )} + {account && }
diff --git a/src/shared/composer/types/post.tsx b/src/shared/composer/types/post.tsx index cef5bd4c..f15b81d5 100644 --- a/src/shared/composer/types/post.tsx +++ b/src/shared/composer/types/post.tsx @@ -4,6 +4,7 @@ import { ImageUploader } from "@shared/composer/imageUploader"; import { TrashIcon } from "@shared/icons"; import { MentionNote } from "@shared/notes/mentions/note"; import { useComposer } from "@stores/composer"; +import { FULL_RELAYS } from "@stores/constants"; import { useCallback, useMemo, useState } from "react"; import { Node, Transforms, createEditor } from "slate"; import { withHistory } from "slate-history"; @@ -44,7 +45,7 @@ const ImagePreview = ({ {element.url}
-
diff --git a/src/shared/icons/index.tsx b/src/shared/icons/index.tsx index 0e2e7fcb..22f0dbad 100644 --- a/src/shared/icons/index.tsx +++ b/src/shared/icons/index.tsx @@ -37,4 +37,5 @@ export * from "./trending"; export * from "./empty"; export * from "./cmd"; export * from "./verticalDots"; +export * from "./signal"; // @endindex diff --git a/src/shared/icons/signal.tsx b/src/shared/icons/signal.tsx new file mode 100644 index 00000000..fef86186 --- /dev/null +++ b/src/shared/icons/signal.tsx @@ -0,0 +1,24 @@ +import { SVGProps } from "react"; + +export function SignalIcon( + props: JSX.IntrinsicAttributes & SVGProps, +) { + return ( + + + + ); +} diff --git a/src/shared/multiAccounts.tsx b/src/shared/lumeBar.tsx similarity index 92% rename from src/shared/multiAccounts.tsx rename to src/shared/lumeBar.tsx index 7b863ac3..b86810f1 100644 --- a/src/shared/multiAccounts.tsx +++ b/src/shared/lumeBar.tsx @@ -2,11 +2,12 @@ import { Transition } from "@headlessui/react"; import { getActiveAccount } from "@libs/storage"; import { ActiveAccount } from "@shared/accounts/active"; import { VerticalDotsIcon } from "@shared/icons"; +import { RelayManager } from "@shared/relayManager"; import { useQuery } from "@tanstack/react-query"; import { useState } from "react"; import { Link } from "react-router-dom"; -export function MultiAccounts() { +export function LumeBar() { const { status, data: activeAccount } = useQuery( ["activeAccount"], async () => { @@ -25,10 +26,11 @@ export function MultiAccounts() {
{status === "loading" ? ( -
+
) : ( )} +
-
- +
+
); diff --git a/src/shared/notes/contents/kind1.tsx b/src/shared/notes/contents/kind1.tsx index 3757d235..881d03fc 100644 --- a/src/shared/notes/contents/kind1.tsx +++ b/src/shared/notes/contents/kind1.tsx @@ -17,7 +17,7 @@ export function Kind1({ {content.parsed}
{Array.isArray(content.images) && content.images.length ? ( - + ) : ( <> )} diff --git a/src/shared/notes/mentions/note.tsx b/src/shared/notes/mentions/note.tsx index c41dfdc3..82e1ce50 100644 --- a/src/shared/notes/mentions/note.tsx +++ b/src/shared/notes/mentions/note.tsx @@ -57,7 +57,7 @@ export const MentionNote = memo(function MentionNote({ id }: { id: string }) { Lume isn't fully support this kind in newsfeed

-
+

{data.content}

diff --git a/src/shared/notes/note.tsx b/src/shared/notes/note.tsx index bd61a154..0a8dbd5d 100644 --- a/src/shared/notes/note.tsx +++ b/src/shared/notes/note.tsx @@ -71,7 +71,7 @@ export function Note({ event, block }: Note) { time={event.created_at} repost={isRepost} /> -
+
{renderContent} {!isRepost && (
@@ -10,7 +13,9 @@ export function ImagePreview({ urls }: { urls: string[] }) { src={url} fallback="https://void.cat/d/XTmrMkpid8DGLjv1AzdvcW" alt="image" - className="h-auto w-full border border-zinc-800/50 rounded-lg object-cover" + className={`${ + truncate ? "h-auto max-h-[300px]" : "h-auto" + } w-full border border-zinc-800/50 rounded-lg object-cover`} />
))} diff --git a/src/shared/relayManager.tsx b/src/shared/relayManager.tsx new file mode 100644 index 00000000..c249835d --- /dev/null +++ b/src/shared/relayManager.tsx @@ -0,0 +1,13 @@ +import { SignalIcon } from "@shared/icons"; + +export function RelayManager() { + return ( + + ); +} diff --git a/src/shared/user.tsx b/src/shared/user.tsx index d86de7b8..3705cb37 100644 --- a/src/shared/user.tsx +++ b/src/shared/user.tsx @@ -33,7 +33,7 @@ export function User({ }`} > ({ +interface ComposerState { + open: boolean; + reply: null; + repost: { id: string; pubkey: string }; + toggleModal: (status: boolean) => void; + setRepost: (id: string, pubkey: string) => void; + clearRepost: () => void; +} + +export const useComposer = create((set) => ({ open: false, - repost: { id: null, pubkey: null }, reply: null, + repost: { id: null, pubkey: null }, toggleModal: (status: boolean) => { set({ open: status }); if (!status) { diff --git a/src/stores/constants.tsx b/src/stores/constants.tsx index a10d2621..202c6090 100644 --- a/src/stores/constants.tsx +++ b/src/stores/constants.tsx @@ -64,9 +64,9 @@ export const OPENGRAPH = { }; export const FULL_RELAYS = [ - "wss://relay.damus.io", - "wss://relay.nostr.band/all", "wss://relayable.org", - "wss://nostr.mutinywallet.com", + "wss://relay.damus.io", "wss://relay.nostrgraph.net", + "wss://relay.nostr.band/all", + "wss://nostr.mutinywallet.com", ]; diff --git a/src/stores/note.tsx b/src/stores/note.tsx index 507fbd36..07bab0c8 100644 --- a/src/stores/note.tsx +++ b/src/stores/note.tsx @@ -2,7 +2,7 @@ import { create } from "zustand"; interface NoteState { hasNewNote: boolean; - toggleHasNewNote: (by: boolean) => void; + toggleHasNewNote: (status: boolean) => void; } export const useNote = create((set) => ({