|
|
|
@ -1,8 +1,11 @@
|
|
|
|
|
import React, { useContext, useEffect, useState } from 'react';
|
|
|
|
|
import { Flex } from '../../basic/Flex';
|
|
|
|
|
import { SessionIconButton } from '../icon';
|
|
|
|
|
import { SessionButton, SessionButtonColor, SessionButtonType } from '../SessionButton';
|
|
|
|
|
import { SessionIdEditable } from '../SessionIdEditable';
|
|
|
|
|
import { RegistrationContext, RegistrationPhase, signUp } from './RegistrationStages';
|
|
|
|
|
import { RegistrationUserDetails } from './RegistrationUserDetails';
|
|
|
|
|
import { SignInMode } from './SignInTab';
|
|
|
|
|
import { TermsAndConditions } from './TermsAndConditions';
|
|
|
|
|
|
|
|
|
|
export enum SignUpMode {
|
|
|
|
@ -41,12 +44,32 @@ const SignUpDefault = (props: { createSessionID: () => void }) => {
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const GoBackMainMenuButton = () => {
|
|
|
|
|
const { setRegistrationPhase, setSignInMode, setSignUpMode } = useContext(RegistrationContext);
|
|
|
|
|
return (
|
|
|
|
|
<SessionIconButton
|
|
|
|
|
iconSize="huge"
|
|
|
|
|
iconType="arrow"
|
|
|
|
|
iconPadding="5px"
|
|
|
|
|
onClick={() => {
|
|
|
|
|
setRegistrationPhase(RegistrationPhase.Start);
|
|
|
|
|
setSignInMode(SignInMode.Default);
|
|
|
|
|
setSignUpMode(SignUpMode.Default);
|
|
|
|
|
}}
|
|
|
|
|
/>
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const SignUpSessionIDShown = (props: { continueSignUp: () => void }) => {
|
|
|
|
|
return (
|
|
|
|
|
<div className="session-registration__content">
|
|
|
|
|
<div className="session-registration__unique-session-id">
|
|
|
|
|
{window.i18n('yourUniqueSessionID')}
|
|
|
|
|
</div>
|
|
|
|
|
<Flex flexDirection="row" container={true} alignItems="center">
|
|
|
|
|
<GoBackMainMenuButton />
|
|
|
|
|
|
|
|
|
|
<div className="session-registration__unique-session-id">
|
|
|
|
|
{window.i18n('yourUniqueSessionID')}
|
|
|
|
|
</div>
|
|
|
|
|
</Flex>
|
|
|
|
|
<SessionIdEditable editable={false} placeholder={undefined} />
|
|
|
|
|
<div className="session-description-long">{window.i18n('signupSessionIDBlurb')}</div>
|
|
|
|
|
<ContinueSignUpButton continueSignUp={props.continueSignUp} />
|
|
|
|
@ -56,11 +79,13 @@ const SignUpSessionIDShown = (props: { continueSignUp: () => void }) => {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const SignUpTab = () => {
|
|
|
|
|
const { setRegistrationPhase, generatedRecoveryPhrase, hexGeneratedPubKey } = useContext(
|
|
|
|
|
RegistrationContext
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
const [signUpMode, setSignUpMode] = useState(SignUpMode.Default);
|
|
|
|
|
const {
|
|
|
|
|
signUpMode,
|
|
|
|
|
setRegistrationPhase,
|
|
|
|
|
generatedRecoveryPhrase,
|
|
|
|
|
hexGeneratedPubKey,
|
|
|
|
|
setSignUpMode,
|
|
|
|
|
} = useContext(RegistrationContext);
|
|
|
|
|
const [displayName, setDisplayName] = useState('');
|
|
|
|
|
const [displayNameError, setDisplayNameError] = useState('');
|
|
|
|
|
|
|
|
|
@ -106,10 +131,12 @@ export const SignUpTab = () => {
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<div className="session-registration__content">
|
|
|
|
|
<div className="session-registration__welcome-session">
|
|
|
|
|
{window.i18n('welcomeToYourSession')}
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<Flex flexDirection="row" container={true} alignItems="center">
|
|
|
|
|
<GoBackMainMenuButton />
|
|
|
|
|
<Flex className="session-registration__welcome-session" padding="20px">
|
|
|
|
|
{window.i18n('welcomeToYourSession')}
|
|
|
|
|
</Flex>
|
|
|
|
|
</Flex>
|
|
|
|
|
<RegistrationUserDetails
|
|
|
|
|
showDisplayNameField={true}
|
|
|
|
|
showSeedField={false}
|
|
|
|
|