From 8e513404c39726f5fc6e20b605919b5ca82fa83f Mon Sep 17 00:00:00 2001 From: Ren Amamiya <123083837+reyamir@users.noreply.github.com> Date: Thu, 14 Sep 2023 09:20:36 +0700 Subject: [PATCH 1/9] update create account flow --- bun.lockb | Bin 351739 -> 352948 bytes package.json | 1 + src/app/auth/components/user.tsx | 13 ++- src/app/auth/create/step-1.tsx | 163 +++++++++++++++-------------- src/app/auth/create/step-2.tsx | 25 +++-- src/app/auth/create/step-3.tsx | 43 ++++---- src/app/auth/onboarding/step-1.tsx | 34 +++--- src/app/auth/onboarding/step-2.tsx | 38 ++++--- src/app/auth/welcome.tsx | 10 +- src/shared/avatarUploader.tsx | 4 +- src/shared/bannerUploader.tsx | 11 +- 11 files changed, 180 insertions(+), 162 deletions(-) diff --git a/bun.lockb b/bun.lockb index 78029912c48a7ee0c8848be7afc10c90090bb752..56a1718b0c8d9a84d6f2ca1305503da26346344f 100755 GIT binary patch delta 78095 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 delta 77362 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 +
{pubkey}
-

+

{user?.name || user?.display_name}

- - {displayNpub(pubkey, 16)} - +
+ {user?.about || user?.bio || 'No bio'} +
); diff --git a/src/app/auth/create/step-1.tsx b/src/app/auth/create/step-1.tsx index 1276cec6..837506e5 100644 --- a/src/app/auth/create/step-1.tsx +++ b/src/app/auth/create/step-1.tsx @@ -1,13 +1,14 @@ -import { BaseDirectory, writeTextFile } from '@tauri-apps/api/fs'; +import { writeText } from '@tauri-apps/api/clipboard'; +import { message, save } from '@tauri-apps/api/dialog'; +import { writeTextFile } from '@tauri-apps/api/fs'; +import { downloadDir } from '@tauri-apps/api/path'; import { generatePrivateKey, getPublicKey, nip19 } from 'nostr-tools'; import { useEffect, useMemo, useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { useStorage } from '@libs/storage/provider'; -import { Button } from '@shared/button'; -import { EyeOffIcon, EyeOnIcon, LoaderIcon } from '@shared/icons'; -import { ArrowRightCircleIcon } from '@shared/icons/arrowRightCircle'; +import { CopyIcon } from '@shared/icons'; import { useOnboarding } from '@stores/onboarding'; import { useStronghold } from '@stores/stronghold'; @@ -21,8 +22,8 @@ export function CreateStep1Screen() { const setPubkey = useOnboarding((state) => state.setPubkey); const setStep = useOnboarding((state) => state.setStep); - const [privkeyInput, setPrivkeyInput] = useState('password'); const [loading, setLoading] = useState(false); + const [copied, setCopied] = useState(false); const [downloaded, setDownloaded] = useState(false); const privkey = useMemo(() => generatePrivateKey(), []); @@ -30,24 +31,36 @@ export function CreateStep1Screen() { const npub = nip19.npubEncode(pubkey); const nsec = nip19.nsecEncode(privkey); - // toggle private key - const showPrivateKey = () => { - if (privkeyInput === 'password') { - setPrivkeyInput('text'); - } else { - setPrivkeyInput('password'); + const download = async () => { + try { + const downloadPath = await downloadDir(); + const fileName = `nostr_keys_${new Date().toISOString()}.txt`; + const filePath = await save({ + defaultPath: downloadPath + '/' + fileName, + }); + + if (filePath) { + await writeTextFile( + filePath, + `Generated by Lume (lume.nu)\nPublic key: ${npub}\nPrivate key: ${nsec}` + ); + + setDownloaded(true); + } // else { user cancel action } + } catch (e) { + await message(e, { title: 'Cannot download account keys', type: 'error' }); } }; - const download = async () => { - await writeTextFile( - `nostr_keys_${new Date().toISOString().slice(0, 10)}.txt`, - `Generated by Lume (lume.nu)\nPublic key: ${npub}\nPrivate key: ${nsec}`, - { - dir: BaseDirectory.Download, - } - ); - setDownloaded(true); + const copyPrivkey = async () => { + try { + await writeText(nsec); + setCopied(true); + + setTimeout(() => setCopied(false), 3000); + } catch (e) { + await message(e, { title: 'Cannot copy private key', type: 'error' }); + } }; const submit = () => { @@ -72,76 +85,68 @@ export function CreateStep1Screen() { return (
-
-

Save your access key!

+
+

+ This is your new Nostr account +

+

+ Your private key is your password. If you lose this key, you will lose access to + your account! Copy it and keep it in a safe place. There is no way to reset your + private key. +

+

+ Public key is used for sharing with other people so that they can find you using + the public key. +

-
-
- Public Key - -
-
- Private Key -
+
+
+
+ Private Key +
+ + +
+
+
+ Public Key - -
-
-

- Your private key is your password. If you lose this key, you will lose - access to your account! Copy it and keep it in a safe place. There is no way - to reset your private key. -

- {downloaded ? ( - - Saved in Download folder - - ) : ( - - )} + + + By clicking 'Continue', you are ensuring that your keys are saved in + a safe place. You cannot recover these keys if they are lost. +
diff --git a/src/app/auth/create/step-2.tsx b/src/app/auth/create/step-2.tsx index 34586420..6f810353 100644 --- a/src/app/auth/create/step-2.tsx +++ b/src/app/auth/create/step-2.tsx @@ -86,10 +86,16 @@ export function CreateStep2Screen() { return (
-
-

+
+

Set password to secure your key

+

+ Password is not related to your Nostr account. It is only used to secure your + keys stored on your local machine and to unlock the app (like unlocking your + phone with a passcode). When you move to other Nostr clients, you just need to + copy your private key. +

@@ -98,12 +104,12 @@ export function CreateStep2Screen() {
-
-

- Password is use to secure your key store in local machine, when you move - to other clients, you just need to copy your private key as nsec or - hexstring -

-
{errors.password &&

{errors.password.message}

}
@@ -127,12 +126,12 @@ export function CreateStep2Screen() {