+
{ LocalizeText('tutorial.name_change.info.select') }
+
+ handleUsernameChange(e.target.value) } />
+
+
+ { !errorCode && !canProceed &&
{ LocalizeText('help.tutorial.name.info') }
}
+ { errorCode &&
{ LocalizeText(`help.tutorial.name.${errorCode}`, ['name'], [newUsername]) }
}
+ { canProceed &&
{ LocalizeText('help.tutorial.name.available', ['name'], [newUsername]) }
}
+ { suggestions &&
+ {
+ suggestions.map((suggestion, i) =>
+ {
+ return (
handleUsernameChange(suggestion) }>{ suggestion }
);
+ })
+ }
+
}
+
+
+
+
+
+ );
+}
diff --git a/src/components/help/views/name-change/NameChangeView.tsx b/src/components/help/views/name-change/NameChangeView.tsx
new file mode 100644
index 00000000..e40613fe
--- /dev/null
+++ b/src/components/help/views/name-change/NameChangeView.tsx
@@ -0,0 +1,68 @@
+import { FC, useCallback, useMemo, useState } from 'react';
+import { LocalizeText } from '../../../../api';
+import { HelpNameChangeEvent } from '../../../../events/help/HelpNameChangeEvent';
+import { useUiEvent } from '../../../../hooks';
+import { NitroCardContentView, NitroCardHeaderView, NitroCardView } from '../../../../layout';
+import { NameChangeConfirmationView } from './NameChangeConfirmationView';
+import { NameChangeInitView } from './NameChangeInitView';
+import { NameChangeInputView } from './NameChangeInputView';
+
+const INIT: string = 'INIT';
+const INPUT: string = 'INPUT';
+const CONFIRMATION: string = 'CONFIRMATION';
+
+export const NameChangeView:FC<{}> = props =>
+{
+ const [ isVisible, setIsVisible ] = useState