From 536ea30ed2c5369bcc7a5d5789c300e70b63fd4b Mon Sep 17 00:00:00 2001 From: reya Date: Thu, 23 Nov 2023 08:49:05 +0700 Subject: [PATCH] fix logout function --- package.json | 6 +++--- pnpm-lock.yaml | 44 ++++++++++++++++++++--------------------- src/app/auth/create.tsx | 2 -- src/shared/logout.tsx | 39 ++++++++++++++++++++++-------------- 4 files changed, 49 insertions(+), 42 deletions(-) diff --git a/package.json b/package.json index 51765b78..c8d03884 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "html-to-text": "^9.0.5", "idb-keyval": "^6.2.1", "light-bolt11-decoder": "^3.0.0", - "lru-cache": "^10.0.3", + "lru-cache": "^10.1.0", "markdown-to-jsx": "^7.3.2", "media-chrome": "^1.5.3", "minidenticons": "^4.2.0", @@ -77,7 +77,7 @@ "react-dom": "^18.2.0", "react-hook-form": "^7.48.2", "react-hotkeys-hook": "^4.4.1", - "react-router-dom": "^6.19.0", + "react-router-dom": "^6.20.0", "react-string-replace": "^1.1.1", "reactflow": "^11.10.1", "sonner": "^1.2.2", @@ -85,7 +85,7 @@ "tauri-controls": "github:reyamir/tauri-controls", "tippy.js": "^6.3.7", "tiptap-markdown": "^0.8.4", - "virtua": "^0.16.5", + "virtua": "^0.16.6", "zustand": "^4.4.6" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cd01da45..87d66764 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -141,8 +141,8 @@ dependencies: specifier: ^3.0.0 version: 3.0.0 lru-cache: - specifier: ^10.0.3 - version: 10.0.3 + specifier: ^10.1.0 + version: 10.1.0 markdown-to-jsx: specifier: ^7.3.2 version: 7.3.2(react@18.2.0) @@ -183,8 +183,8 @@ dependencies: specifier: ^4.4.1 version: 4.4.1(react-dom@18.2.0)(react@18.2.0) react-router-dom: - specifier: ^6.19.0 - version: 6.19.0(react-dom@18.2.0)(react@18.2.0) + specifier: ^6.20.0 + version: 6.20.0(react-dom@18.2.0)(react@18.2.0) react-string-replace: specifier: ^1.1.1 version: 1.1.1 @@ -207,8 +207,8 @@ dependencies: specifier: ^0.8.4 version: 0.8.4(@tiptap/core@2.1.12) virtua: - specifier: ^0.16.5 - version: 0.16.5(react-dom@18.2.0)(react@18.2.0) + specifier: ^0.16.6 + version: 0.16.6(react-dom@18.2.0)(react@18.2.0) zustand: specifier: ^4.4.6 version: 4.4.6(@types/react@18.2.38)(react@18.2.0) @@ -1845,8 +1845,8 @@ packages: type-fest: 2.19.0 dev: false - /@remix-run/router@1.12.0: - resolution: {integrity: sha512-2hXv036Bux90e1GXTWSMfNzfDDK8LA8JYEWfyHxzvwdp6GyoWEovKc9cotb3KCKmkdwsIBuFGX7ScTWyiHv7Eg==} + /@remix-run/router@1.13.0: + resolution: {integrity: sha512-5dMOnVnefRsl4uRnAdoWjtVTdh8e6aZqgM4puy9nmEADH72ck+uXwzpJLEKE9Q6F8ZljNewLgmTfkxUrBdv4WA==} engines: {node: '>=14.0.0'} dev: false @@ -3146,7 +3146,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001564 - electron-to-chromium: 1.4.590 + electron-to-chromium: 1.4.592 node-releases: 2.0.13 update-browserslist-db: 1.0.13(browserslist@4.22.1) dev: true @@ -3519,8 +3519,8 @@ packages: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true - /electron-to-chromium@1.4.590: - resolution: {integrity: sha512-hohItzsQcG7/FBsviCYMtQwUSWvVF7NVqPOnJCErWsAshsP/CR2LAXdmq276RbESNdhxiAq5/vRo1g2pxGXVww==} + /electron-to-chromium@1.4.592: + resolution: {integrity: sha512-D3NOkROIlF+d5ixnz7pAf3Lu/AuWpd6AYgI9O67GQXMXTcCP1gJQRotOq35eQy5Sb4hez33XH1YdTtILA7Udww==} dev: true /emoji-regex@9.2.2: @@ -4627,8 +4627,8 @@ packages: dependencies: js-tokens: 4.0.0 - /lru-cache@10.0.3: - resolution: {integrity: sha512-B7gr+F6MkqB3uzINHXNctGieGsRTMwIBgxkp0yq/5BwcuDzD4A8wQpHQW6vDAm1uKSLQghmRdD9sKqf2vJ1cEg==} + /lru-cache@10.1.0: + resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} engines: {node: 14 || >=16.14} dev: false @@ -5396,26 +5396,26 @@ packages: use-sidecar: 1.1.2(@types/react@18.2.38)(react@18.2.0) dev: false - /react-router-dom@6.19.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-N6dWlcgL2w0U5HZUUqU2wlmOrSb3ighJmtQ438SWbhB1yuLTXQ8yyTBMK3BSvVjp7gBtKurT554nCtMOgxCZmQ==} + /react-router-dom@6.20.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-CbcKjEyiSVpA6UtCHOIYLUYn/UJfwzp55va4yEfpk7JBN3GPqWfHrdLkAvNCcpXr8QoihcDMuk0dzWZxtlB/mQ==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' react-dom: '>=16.8' dependencies: - '@remix-run/router': 1.12.0 + '@remix-run/router': 1.13.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-router: 6.19.0(react@18.2.0) + react-router: 6.20.0(react@18.2.0) dev: false - /react-router@6.19.0(react@18.2.0): - resolution: {integrity: sha512-0W63PKCZ7+OuQd7Tm+RbkI8kCLmn4GPjDbX61tWljPxWgqTKlEpeQUwPkT1DRjYhF8KSihK0hQpmhU4uxVMcdw==} + /react-router@6.20.0(react@18.2.0): + resolution: {integrity: sha512-pVvzsSsgUxxtuNfTHC4IxjATs10UaAtvLGVSA1tbUE4GDaOSU1Esu2xF5nWLz7KPiMuW8BJWuPFdlGYJ7/rW0w==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' dependencies: - '@remix-run/router': 1.12.0 + '@remix-run/router': 1.13.0 react: 18.2.0 dev: false @@ -6095,8 +6095,8 @@ packages: /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - /virtua@0.16.5(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-ClnVq9N8z05TGZS3p0ABcyioyhFugDNhC37BXsM8HfFDQ1bCiu9SdJh2YuVJioGPzpYs6PtjwHZU9hWQvWU3gQ==} + /virtua@0.16.6(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-I2vFlh7sCUTK4nVZzPj2IhgGRFtNVrVQD2nrpFPedotjcLjeE3Z9cJslGsU4Go2y65kBymwqT19Hwkycs4IFVQ==} peerDependencies: react: '>=16.14.0' react-dom: '>=16.14.0' diff --git a/src/app/auth/create.tsx b/src/app/auth/create.tsx index 2011272e..d5bad9ee 100644 --- a/src/app/auth/create.tsx +++ b/src/app/auth/create.tsx @@ -45,8 +45,6 @@ export function CreateAccountScreen() { const onSubmit = async (data: { name: string; about: string }) => { try { - if (!ndk.signer) return navigate('/new/privkey'); - setLoading(true); const profile = { diff --git a/src/shared/logout.tsx b/src/shared/logout.tsx index da489ee1..8818463c 100644 --- a/src/shared/logout.tsx +++ b/src/shared/logout.tsx @@ -1,5 +1,6 @@ import * as AlertDialog from '@radix-ui/react-alert-dialog'; import { useNavigate } from 'react-router-dom'; +import { toast } from 'sonner'; import { useNDK } from '@libs/ndk/provider'; import { useStorage } from '@libs/storage/provider'; @@ -11,15 +12,21 @@ export function Logout() { const navigate = useNavigate(); const logout = async () => { - ndk.signer = null; + try { + ndk.signer = null; - // remove account - await db.accountLogout(); - await db.secureRemove(db.account.pubkey); - await db.secureRemove(db.account.pubkey + '-bunker'); + // remove private key + await db.secureRemove(db.account.pubkey); + await db.secureRemove(db.account.pubkey + '-bunker'); - // redirect to welcome screen - navigate('/auth/welcome'); + // logout + await db.accountLogout(); + + // redirect to welcome screen + navigate('/auth/welcome'); + } catch (e) { + toast.error(e); + } }; return ( @@ -33,7 +40,7 @@ export function Logout() { - +
@@ -54,13 +61,15 @@ export function Logout() { Cancel - + + +