From 0bb92971eea7fd8e2e3833c78112fbfe4093bade Mon Sep 17 00:00:00 2001 From: Audric Ackermann Date: Wed, 11 Dec 2019 14:05:23 +1100 Subject: [PATCH] SessionButtonTypes -> SessionButtonType and create enum for registration tabs --- ts/components/session/RegistrationTabs.tsx | 87 +++++++++++----------- ts/components/session/SessionButton.tsx | 4 +- 2 files changed, 46 insertions(+), 45 deletions(-) diff --git a/ts/components/session/RegistrationTabs.tsx b/ts/components/session/RegistrationTabs.tsx index 8c63fa83c..81914c2e5 100644 --- a/ts/components/session/RegistrationTabs.tsx +++ b/ts/components/session/RegistrationTabs.tsx @@ -3,7 +3,7 @@ import classNames from 'classnames'; import { LocalizerType } from '../../types/Util'; import { SessionInput } from './SessionInput'; -import { SessionButton, SessionButtonTypes } from './SessionButton'; +import { SessionButton, SessionButtonType } from './SessionButton'; import { trigger } from '../../shims/events'; interface Props { @@ -11,17 +11,23 @@ interface Props { } enum SignInMode { - Default = 'Default', - UsingSeed = 'UsingSeed', - LinkingDevice = 'LinkingDevice', + Default, + UsingSeed, + LinkingDevice, } enum SignUpMode { - Default = 'Default', - SessionIDGenerated = 'SessionIDGenerated', + Default, + SessionIDGenerated, } + +enum TabType { + Create, + SignIn, +} + interface State { - selectedTab: 'create' | 'signin'; + selectedTab: TabType; signInMode: SignInMode; signUpMode: SignUpMode; displayName: string; @@ -34,7 +40,7 @@ interface State { } interface TabSelectEvent { - type: 'create' | 'signin'; + type: TabType; } const Tab = ({ @@ -46,12 +52,12 @@ const Tab = ({ isSelected: boolean; label: string; onSelect?: (event: TabSelectEvent) => void; - type: 'create' | 'signin'; + type: TabType; }) => { const handleClick = onSelect ? () => { - onSelect({ type }); - } + onSelect({ type }); + } : undefined; return ( @@ -84,7 +90,7 @@ export class RegistrationTabs extends React.Component { this.onSignUpGetStartedClick = this.onSignUpGetStartedClick.bind(this); this.state = { - selectedTab: 'create', + selectedTab: TabType.Create, signInMode: SignInMode.Default, signUpMode: SignUpMode.Default, displayName: '', @@ -111,20 +117,22 @@ export class RegistrationTabs extends React.Component { const createAccount = i18n('createAccount'); const signIn = i18n('signIn'); + const isCreateSelected = selectedTab === TabType.Create; + const isSignInSelected = selectedTab === TabType.SignIn; return (
@@ -157,7 +165,7 @@ export class RegistrationTabs extends React.Component { private renderSections() { const { selectedTab } = this.state; - if (selectedTab === 'create') { + if (selectedTab === TabType.Create) { return this.renderSignUp(); } @@ -191,18 +199,14 @@ export class RegistrationTabs extends React.Component { private getRenderTermsConditionAgreement() { const { selectedTab, signInMode, signUpMode } = this.state; - if (selectedTab === 'create') { - if (signUpMode !== SignUpMode.Default) { - return this.renderTermsConditionAgreement(); - } else { - return null; - } + if (selectedTab === TabType.Create) { + return signUpMode !== SignUpMode.Default + ? this.renderTermsConditionAgreement() + : null; } else { - if (signInMode !== SignInMode.Default) { - return this.renderTermsConditionAgreement(); - } else { - return null; - } + return signInMode !== SignInMode.Default + ? this.renderTermsConditionAgreement() + : null; } } @@ -219,18 +223,18 @@ export class RegistrationTabs extends React.Component { let buttonType: any; let buttonText: string; if (signUpMode !== SignUpMode.Default) { - buttonType = SessionButtonTypes.FullGreen; + buttonType = SessionButtonType.FullGreen; buttonText = i18n('getStarted'); } else { - buttonType = SessionButtonTypes.Green; + buttonType = SessionButtonType.Green; buttonText = i18n('generateSessionID'); } return ( { + onClick={() => { if (signUpMode === SignUpMode.Default) { - await this.onSignUpGenerateSessionIDClick(); + void this.onSignUpGenerateSessionIDClick(); } else { this.onSignUpGetStartedClick(); } @@ -272,7 +276,7 @@ export class RegistrationTabs extends React.Component { private onSignUpGetStartedClick() { this.setState({ - selectedTab: 'signin', + selectedTab: TabType.SignIn, signInMode: SignInMode.UsingSeed, }); } @@ -343,7 +347,7 @@ export class RegistrationTabs extends React.Component {
); } else { - return
; + return undefined; } } @@ -371,7 +375,7 @@ export class RegistrationTabs extends React.Component { if (signInMode === SignInMode.Default) { return (
- {this.renderRestoreUsingSeedButton(SessionButtonTypes.Green)} + {this.renderRestoreUsingSeedButton(SessionButtonType.Green)}
{or}
{this.renderLinkDeviceToExistingAccountButton()}
@@ -383,7 +387,7 @@ export class RegistrationTabs extends React.Component {
{this.renderContinueYourSessionButton()}
{or}
- {this.renderRestoreUsingSeedButton(SessionButtonTypes.White)} + {this.renderRestoreUsingSeedButton(SessionButtonType.White)}
); } @@ -412,17 +416,16 @@ export class RegistrationTabs extends React.Component { private renderContinueYourSessionButton() { return ( { - await this.register('english'); + onClick={() => { + void this.register('english'); }} - buttonType={SessionButtonTypes.FullGreen} + buttonType={SessionButtonType.FullGreen} text={this.props.i18n('continueYourSession')} /> ); } - private renderRestoreUsingSeedButton(buttonType: SessionButtonTypes) { + private renderRestoreUsingSeedButton(buttonType: SessionButtonType) { return ( { @@ -452,7 +455,7 @@ export class RegistrationTabs extends React.Component { signUpMode: SignUpMode.Default, }); }} - buttonType={SessionButtonTypes.White} + buttonType={SessionButtonType.White} text={this.props.i18n('linkDeviceToExistingAccount')} /> ); diff --git a/ts/components/session/SessionButton.tsx b/ts/components/session/SessionButton.tsx index 89f39558b..3f420b25a 100644 --- a/ts/components/session/SessionButton.tsx +++ b/ts/components/session/SessionButton.tsx @@ -46,9 +46,7 @@ export class SessionButton extends React.PureComponent {
{ - this.clickHandler(e); - }} + onClick={this.clickHandler} > {text}