From a9fcb510219734342ba866c8caaaf9ae16796f88 Mon Sep 17 00:00:00 2001 From: William Grant Date: Fri, 23 Feb 2024 10:54:28 +1100 Subject: [PATCH] feat: extract back button to separate component --- .../registration/components/BackButton.tsx | 26 ++++++++++++ .../registration/components/index.tsx | 3 +- .../registration/stages/SignInTab.tsx | 4 +- .../registration/stages/SignUpTab.tsx | 40 ++++++------------- 4 files changed, 43 insertions(+), 30 deletions(-) create mode 100644 ts/components/registration/components/BackButton.tsx diff --git a/ts/components/registration/components/BackButton.tsx b/ts/components/registration/components/BackButton.tsx new file mode 100644 index 000000000..1f343071f --- /dev/null +++ b/ts/components/registration/components/BackButton.tsx @@ -0,0 +1,26 @@ +import { useDispatch } from 'react-redux'; +import { + setRegistrationPhase, + setSignInMode, + setSignUpMode, +} from '../../../state/onboarding/ducks/registration'; +import { SessionIconButton } from '../../icon'; +import { RegistrationPhase } from '../RegistrationStages'; +import { SignInMode, SignUpMode } from '../stages'; + +export const BackButton = () => { + const dispatch = useDispatch(); + + return ( + { + dispatch(setRegistrationPhase(RegistrationPhase.Start)); + dispatch(setSignInMode(SignInMode.Default)); + dispatch(setSignUpMode(SignUpMode.Default)); + }} + /> + ); +}; diff --git a/ts/components/registration/components/index.tsx b/ts/components/registration/components/index.tsx index 9617fc2d0..62e9c16f4 100644 --- a/ts/components/registration/components/index.tsx +++ b/ts/components/registration/components/index.tsx @@ -1,3 +1,4 @@ +import { BackButton } from './BackButton'; import { Hero } from './Hero'; -export { Hero }; +export { BackButton, Hero }; diff --git a/ts/components/registration/stages/SignInTab.tsx b/ts/components/registration/stages/SignInTab.tsx index 82c125a55..a38c6954e 100644 --- a/ts/components/registration/stages/SignInTab.tsx +++ b/ts/components/registration/stages/SignInTab.tsx @@ -11,7 +11,7 @@ import { SessionSpinner } from '../../loading'; import { RegistrationPhase, signInWithLinking, signInWithRecovery } from '../RegistrationStages'; import { RegistrationUserDetails } from '../RegistrationUserDetails'; import { TermsAndConditions } from '../TermsAndConditions'; -import { GoBackMainMenuButton } from './SignUpTab'; +import { BackButton } from '../components'; export enum SignInMode { Default, @@ -150,7 +150,7 @@ export const SignInTab = () => {
{signInMode !== SignInMode.Default && ( <> - + { ); }; -export const GoBackMainMenuButton = () => { - const dispatch = useDispatch(); - return ( - { - dispatch(setRegistrationPhase(RegistrationPhase.Start)); - dispatch(setSignInMode(SignInMode.Default)); - dispatch(setSignUpMode(SignUpMode.Default)); - }} - /> - ); -}; - const SignUpSessionIDShown = (props: { continueSignUp: Noop }) => { return (
- +
{window.i18n('yourUniqueSessionID')} @@ -127,9 +113,9 @@ export const SignUpTab = () => { }; return ( -
+ - + {window.i18n('welcomeToYourSession')} @@ -150,6 +136,6 @@ export const SignUpTab = () => { disabled={!enableCompleteSignUp} /> -
+ ); };