|
|
@ -1,13 +1,11 @@
|
|
|
|
import React, { useContext, useEffect, useState } from 'react';
|
|
|
|
import React, { useContext, useEffect, useState } from 'react';
|
|
|
|
import { ToastUtils } from '../../session/utils';
|
|
|
|
|
|
|
|
import { sanitizeSessionUsername } from '../../session/utils/String';
|
|
|
|
|
|
|
|
import { Flex } from '../basic/Flex';
|
|
|
|
import { Flex } from '../basic/Flex';
|
|
|
|
import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
|
|
|
|
import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
|
|
|
|
import { SessionIdEditable } from '../basic/SessionIdEditable';
|
|
|
|
import { SessionIdEditable } from '../basic/SessionIdEditable';
|
|
|
|
import { SessionIconButton } from '../icon';
|
|
|
|
import { SessionIconButton } from '../icon';
|
|
|
|
import { RegistrationContext, RegistrationPhase, signUp } from './RegistrationStages';
|
|
|
|
import { RegistrationContext, RegistrationPhase, signUp } from './RegistrationStages';
|
|
|
|
import { RegistrationUserDetails } from './RegistrationUserDetails';
|
|
|
|
import { RegistrationUserDetails } from './RegistrationUserDetails';
|
|
|
|
import { SignInMode } from './SignInTab';
|
|
|
|
import { sanitizeDisplayNameOrToast, SignInMode } from './SignInTab';
|
|
|
|
import { TermsAndConditions } from './TermsAndConditions';
|
|
|
|
import { TermsAndConditions } from './TermsAndConditions';
|
|
|
|
|
|
|
|
|
|
|
|
export enum SignUpMode {
|
|
|
|
export enum SignUpMode {
|
|
|
@ -145,16 +143,7 @@ export const SignUpTab = () => {
|
|
|
|
displayName={displayName}
|
|
|
|
displayName={displayName}
|
|
|
|
handlePressEnter={signUpWithDetails}
|
|
|
|
handlePressEnter={signUpWithDetails}
|
|
|
|
onDisplayNameChanged={(name: string) => {
|
|
|
|
onDisplayNameChanged={(name: string) => {
|
|
|
|
try {
|
|
|
|
sanitizeDisplayNameOrToast(name, setDisplayName, setDisplayNameError);
|
|
|
|
const sanitizedName = sanitizeSessionUsername(name);
|
|
|
|
|
|
|
|
const trimName = sanitizedName.trim();
|
|
|
|
|
|
|
|
setDisplayName(sanitizedName);
|
|
|
|
|
|
|
|
setDisplayNameError(!trimName ? window.i18n('displayNameEmpty') : undefined);
|
|
|
|
|
|
|
|
} catch (e) {
|
|
|
|
|
|
|
|
setDisplayName(name);
|
|
|
|
|
|
|
|
setDisplayNameError(window.i18n('displayNameTooLong'));
|
|
|
|
|
|
|
|
ToastUtils.pushToastError('toolong', window.i18n('displayNameTooLong'));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}}
|
|
|
|
}}
|
|
|
|
stealAutoFocus={true}
|
|
|
|
stealAutoFocus={true}
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|