diff --git a/src/extension/components/CreatePasswordInput/CreatePasswordInput.tsx b/src/extension/components/CreatePasswordInput/CreatePasswordInput.tsx index 77c01f81..26a8183e 100644 --- a/src/extension/components/CreatePasswordInput/CreatePasswordInput.tsx +++ b/src/extension/components/CreatePasswordInput/CreatePasswordInput.tsx @@ -81,10 +81,12 @@ const CreatePasswordInput: FC = ({ {label || t('labels.password')} + {error} + = ({ /> + To conform with our{' '} @@ -121,6 +124,7 @@ const CreatePasswordInput: FC = ({ must be at least 8 characters. + diff --git a/src/extension/components/SettingsSelectItem/SettingsSelectItem.tsx b/src/extension/components/SettingsSelectItem/SettingsSelectItem.tsx index 59eb6226..5e2b5a6a 100644 --- a/src/extension/components/SettingsSelectItem/SettingsSelectItem.tsx +++ b/src/extension/components/SettingsSelectItem/SettingsSelectItem.tsx @@ -35,6 +35,7 @@ const SettingsSelectItem: FC = ({ alignItems="center" h={SETTINGS_ITEM_HEIGHT} justifyContent="space-between" + pb={DEFAULT_GAP - 2} px={DEFAULT_GAP - 2} spacing={2} w="full" diff --git a/src/extension/components/SettingsSubHeading/SettingsSubHeading.tsx b/src/extension/components/SettingsSubHeading/SettingsSubHeading.tsx index 5ac029f6..93d28c98 100644 --- a/src/extension/components/SettingsSubHeading/SettingsSubHeading.tsx +++ b/src/extension/components/SettingsSubHeading/SettingsSubHeading.tsx @@ -16,8 +16,10 @@ const SettingsSubHeading: FC = ({ color, text }: IProps) => { return ( = ({ alignItems="center" minH={SETTINGS_ITEM_HEIGHT} justifyContent="space-between" + pb={DEFAULT_GAP - 2} px={DEFAULT_GAP - 2} spacing={2} w="full" diff --git a/src/extension/components/Warning/Warning.tsx b/src/extension/components/Warning/Warning.tsx index 8733e37f..afce538d 100644 --- a/src/extension/components/Warning/Warning.tsx +++ b/src/extension/components/Warning/Warning.tsx @@ -33,6 +33,7 @@ const Warning: FC = ({ message, size = 'md' }: IProps) => { return ( = ({ message, size = 'md' }: IProps) => { py={1} spacing={2} > - - + + {message} diff --git a/src/extension/features/settings/thunks/setSettings.ts b/src/extension/features/settings/thunks/setSettings.ts index c499c841..becd1bdc 100644 --- a/src/extension/features/settings/thunks/setSettings.ts +++ b/src/extension/features/settings/thunks/setSettings.ts @@ -34,13 +34,13 @@ const setSettings: AsyncThunk< value.genesisHash === settings.general.selectedNetworkGenesisHash ) || null; - // if the beta/test net has been disallowed and the selected network is one of the disallowed, set it to a stable one + // if the beta/main-net has been disallowed and the selected network is one of the disallowed, set it to a test one if ( !selectedNetwork || (!settings.advanced.allowBetaNet && selectedNetwork.type === NetworkTypeEnum.Beta) || - (!settings.advanced.allowTestNet && - selectedNetwork.type === NetworkTypeEnum.Test) + (!settings.advanced.allowMainNet && + selectedNetwork.type === NetworkTypeEnum.Stable) ) { selectedNetwork = selectDefaultNetwork(networks); diff --git a/src/extension/features/settings/utils/createDefaultSettings.ts b/src/extension/features/settings/utils/createDefaultSettings.ts index b0e722dd..99a470a0 100644 --- a/src/extension/features/settings/utils/createDefaultSettings.ts +++ b/src/extension/features/settings/utils/createDefaultSettings.ts @@ -16,7 +16,7 @@ export default function createDefaultSettings(networks: INetwork[]): ISettings { advanced: { allowBetaNet: false, allowDidTokenFormat: false, - allowTestNet: false, + allowMainNet: false, }, appearance: { theme: 'light', diff --git a/src/extension/features/settings/utils/getInitialState.ts b/src/extension/features/settings/utils/getInitialState.ts index dc5171d4..d42b2180 100644 --- a/src/extension/features/settings/utils/getInitialState.ts +++ b/src/extension/features/settings/utils/getInitialState.ts @@ -6,7 +6,7 @@ export default function getInitialState(): ISettingsState { advanced: { allowBetaNet: false, allowDidTokenFormat: false, - allowTestNet: false, + allowMainNet: false, }, appearance: { theme: 'light', diff --git a/src/extension/pages/AdvancedSettingsPage/AdvancedSettingsPage.tsx b/src/extension/pages/AdvancedSettingsPage/AdvancedSettingsPage.tsx index 56c2ceff..cf7abfc6 100644 --- a/src/extension/pages/AdvancedSettingsPage/AdvancedSettingsPage.tsx +++ b/src/extension/pages/AdvancedSettingsPage/AdvancedSettingsPage.tsx @@ -8,8 +8,12 @@ import PageHeader from '@extension/components/PageHeader'; import SettingsSubHeading from '@extension/components/SettingsSubHeading'; import SettingsSwitchItem from '@extension/components/SettingsSwitchItem'; +// constants +import { DEFAULT_GAP } from '@extension/constants'; + // features import { setSettings } from '@extension/features/settings'; +import { setConfirm } from '@extension/features/system'; // selectors import { useSelectSettings } from '@extension/selectors'; @@ -24,7 +28,43 @@ import { const AdvancedSettingsPage: FC = () => { const { t } = useTranslation(); const dispatch: IAppThunkDispatch = useDispatch(); + // selectors const settings: ISettings = useSelectSettings(); + // handlers + const handleMainNetSwitchChange = (event: ChangeEvent) => { + // if the switch is being enabled, get the user to confirmation + if (event.target.checked) { + dispatch( + setConfirm({ + description: t('captions.allowMainNetConfirm'), + onConfirm: () => + dispatch( + setSettings({ + ...settings, + advanced: { + ...settings.advanced, + allowMainNet: event.target.checked, + }, + }) + ), + title: t('headings.allowMainNetConfirm'), + warningText: t('captions.allowMainNetWarning'), + }) + ); + + return; + } + + dispatch( + setSettings({ + ...settings, + advanced: { + ...settings.advanced, + allowMainNet: event.target.checked, + }, + }) + ); + }; const handleOnSwitchChange = (key: keyof IAdvancedSettings) => (event: ChangeEvent) => { @@ -42,27 +82,25 @@ const AdvancedSettingsPage: FC = () => { return ( <> ('titles.page', { context: 'advanced' })} /> - - {/* Developer */} + + {/* beta */} - ('headings.developer')} /> + ('headings.beta')} /> + ('captions.allowTestNet')} - label={t('labels.allowTestNet')} - onChange={handleOnSwitchChange('allowTestNet')} + checked={settings.advanced.allowMainNet} + description={t('captions.allowMainNet')} + label={t('labels.allowMainNet')} + onChange={handleMainNetSwitchChange} /> - - {/* Beta */} - - ('headings.beta')} /> ('captions.allowBetaNet')} label={t('labels.allowBetaNet')} onChange={handleOnSwitchChange('allowBetaNet')} /> + ('captions.allowDidTokenFormat')} diff --git a/src/extension/pages/ChangePasswordPage/ChangePasswordPage.tsx b/src/extension/pages/ChangePasswordPage/ChangePasswordPage.tsx index 814d9302..aef21f67 100644 --- a/src/extension/pages/ChangePasswordPage/ChangePasswordPage.tsx +++ b/src/extension/pages/ChangePasswordPage/ChangePasswordPage.tsx @@ -34,11 +34,14 @@ const ChangePasswordPage: FC = () => { const { t } = useTranslation(); const navigate: NavigateFunction = useNavigate(); const { isOpen, onClose, onOpen } = useDisclosure(); + // hooks const toast: CreateToastFnReturn | null = useSelectToast(); const { changePassword, error, passwordTag, saving } = useChangePassword(); const subTextColor: string = useSubTextColor(); + // state const [newPassword, setNewPassword] = useState(null); const [score, setScore] = useState(-1); + // handlers const handlePasswordChange = (newPassword: string, newScore: number) => { setNewPassword(newPassword); setScore(newScore); @@ -93,20 +96,23 @@ const ChangePasswordPage: FC = () => { ('titles.page', { context: 'changePassword' })} /> + - - + + {t('captions.changePassword1')} - + + {t('captions.changePassword2')} + ('labels.newPassword')} @@ -115,6 +121,7 @@ const ChangePasswordPage: FC = () => { value={newPassword || ''} /> + + {hasCompletedAllSteps ? ( diff --git a/src/extension/pages/GeneralSettingsPage/GeneralSettingsPage.tsx b/src/extension/pages/GeneralSettingsPage/GeneralSettingsPage.tsx index db4e3b08..b40ce992 100644 --- a/src/extension/pages/GeneralSettingsPage/GeneralSettingsPage.tsx +++ b/src/extension/pages/GeneralSettingsPage/GeneralSettingsPage.tsx @@ -67,11 +67,11 @@ const GeneralSettingsPage: FC = () => { <> ('titles.page', { context: 'general' })} /> - {/*Network*/} + {/* network */} ('headings.network')} /> - {/*Preferred block explorer*/} + {/* preferred block explorer */} {selectedNetwork && selectedNetwork.explorers.length > 0 && ( ('captions.preferredBlockExplorer')} @@ -89,7 +89,7 @@ const GeneralSettingsPage: FC = () => { )} - {/*Danger zone*/} + {/* danger zone */} { py={4} w="full" > - {/*Clear all data*/} + {/* clear all data */}