diff --git a/src/actions/nostr.ts b/src/actions/nostr.ts index 86e24d887..ea1da3c29 100644 --- a/src/actions/nostr.ts +++ b/src/actions/nostr.ts @@ -2,11 +2,12 @@ import { RootState, type AppDispatch } from 'soapbox/store'; import { authLoggedIn, verifyCredentials } from './auth'; import { obtainOAuthToken } from './oauth'; +import { startOnboarding } from './onboarding'; const NOSTR_PUBKEY_SET = 'NOSTR_PUBKEY_SET'; /** Log in with a Nostr pubkey. */ -function logInNostr(pubkey: string) { +function logInNostr(pubkey: string, onboard = false) { return async (dispatch: AppDispatch, getState: () => RootState) => { dispatch(setNostrPubkey(pubkey)); @@ -27,6 +28,10 @@ function logInNostr(pubkey: string) { secret, })); + if (onboard) { + dispatch(startOnboarding()); + } + dispatch(setNostrPubkey(undefined)); const { access_token } = dispatch(authLoggedIn(token)); diff --git a/src/features/onboarding/onboarding-wizard.tsx b/src/features/onboarding/onboarding-wizard.tsx index 3c6e5c64c..43255894e 100644 --- a/src/features/onboarding/onboarding-wizard.tsx +++ b/src/features/onboarding/onboarding-wizard.tsx @@ -45,7 +45,7 @@ const OnboardingWizard = () => { , ]; - if (features.federating){ + if (features.federating && !features.nostr) { steps.push(); } diff --git a/src/features/ui/components/modals/nostr-signup-modal/steps/keygen-step.tsx b/src/features/ui/components/modals/nostr-signup-modal/steps/keygen-step.tsx index 83d604fa7..039265283 100644 --- a/src/features/ui/components/modals/nostr-signup-modal/steps/keygen-step.tsx +++ b/src/features/ui/components/modals/nostr-signup-modal/steps/keygen-step.tsx @@ -43,7 +43,7 @@ const KeygenStep: React.FC = ({ onClose }) => { const handleNext = async () => { const signer = NKeys.add(secretKey); const pubkey = await signer.getPublicKey(); - dispatch(logInNostr(pubkey)); + dispatch(logInNostr(pubkey, true)); onClose(); };