diff options
| author | Hank <hank@mullvad.net> | 2022-10-14 10:36:26 +0200 |
|---|---|---|
| committer | Hank <hank@mullvad.net> | 2022-10-17 07:49:47 +0200 |
| commit | a63aa570f4b97cf65405840f9d757ea2173e958b (patch) | |
| tree | 5c6f2937997b284c691773edb23cb75207c8d546 /gui/src/renderer/components | |
| parent | 6ad6379f6a1b97c222379ce1bef132f858047f2c (diff) | |
| download | mullvadvpn-a63aa570f4b97cf65405840f9d757ea2173e958b.tar.xz mullvadvpn-a63aa570f4b97cf65405840f9d757ea2173e958b.zip | |
Refactor useRecoveryAction
Diffstat (limited to 'gui/src/renderer/components')
| -rw-r--r-- | gui/src/renderer/components/ExpiredAccountErrorView.tsx | 70 |
1 files changed, 36 insertions, 34 deletions
diff --git a/gui/src/renderer/components/ExpiredAccountErrorView.tsx b/gui/src/renderer/components/ExpiredAccountErrorView.tsx index 459c0cf3d6..8cfcdb1d46 100644 --- a/gui/src/renderer/components/ExpiredAccountErrorView.tsx +++ b/gui/src/renderer/components/ExpiredAccountErrorView.tsx @@ -49,7 +49,7 @@ function ExpiredAccountErrorViewComponent() { const connection = useSelector((state) => state.connection); - const { getRecoveryAction } = useRecoveryAction(); + const { recoveryAction } = useRecoveryAction(); const isNewAccount = useIsNewAccount(); const headerBarStyle = isNewAccount @@ -78,7 +78,7 @@ function ExpiredAccountErrorViewComponent() { <Footer> <AppButton.ButtonGroup> - {getRecoveryAction() === RecoveryAction.disconnect && ( + {recoveryAction === RecoveryAction.disconnect && ( <AppButton.BlockingButton onClick={onDisconnect}> <AppButton.RedButton> {messages.pgettext('connect-view', 'Disconnect')} @@ -103,7 +103,7 @@ function ExpiredAccountErrorViewComponent() { function WelcomeView() { const account = useSelector((state) => state.account); - const { getRecoveryActionMessage } = useRecoveryAction(); + const { recoveryMessage } = useRecoveryAction(); return ( <> @@ -121,7 +121,7 @@ function WelcomeView() { 'connect-view', 'To start using the app, you first need to add time to your account.', ), - recoveryMessage: getRecoveryActionMessage(), + recoveryMessage, })} </StyledMessage> </> @@ -129,7 +129,7 @@ function WelcomeView() { } function Content() { - const { getRecoveryActionMessage } = useRecoveryAction(); + const { recoveryMessage } = useRecoveryAction(); return ( <> @@ -143,7 +143,7 @@ function Content() { 'connect-view', 'You have no more VPN time left on this account.', ), - recoveryMessage: getRecoveryActionMessage(), + recoveryMessage, })} </StyledMessage> </> @@ -152,7 +152,7 @@ function Content() { function ExternalPaymentButton() { const { setShowBlockWhenDisconnectedAlert } = useExpiredAccountContext(); - const { getRecoveryAction } = useRecoveryAction(); + const { recoveryAction } = useRecoveryAction(); const { openLinkWithAuth } = useAppContext(); const isNewAccount = useIsNewAccount(); @@ -161,7 +161,7 @@ function ExternalPaymentButton() { : messages.gettext('Buy more credit'); const onOpenExternalPayment = useCallback(async () => { - if (getRecoveryAction() === RecoveryAction.disableBlockedWhenDisconnected) { + if (recoveryAction === RecoveryAction.disableBlockedWhenDisconnected) { setShowBlockWhenDisconnectedAlert(true); } else { await openLinkWithAuth(links.purchase); @@ -170,7 +170,7 @@ function ExternalPaymentButton() { return ( <AppButton.BlockingButton - disabled={getRecoveryAction() === RecoveryAction.disconnect} + disabled={recoveryAction === RecoveryAction.disconnect} onClick={onOpenExternalPayment}> <AriaDescriptionGroup> <AriaDescribed> @@ -277,33 +277,35 @@ const useRecoveryAction = () => { const isBlocked = useSelector((state) => state.connection.isBlocked); const blockWhenDisconnected = useSelector((state) => state.settings.blockWhenDisconnected); - const getRecoveryAction = () => { - if (blockWhenDisconnected && isBlocked) { - return RecoveryAction.disableBlockedWhenDisconnected; - } else if (!blockWhenDisconnected && isBlocked) { - return RecoveryAction.disconnect; - } else { - return RecoveryAction.openBrowser; - } - }; + let recoveryAction: RecoveryAction; - const getRecoveryActionMessage = () => { - switch (getRecoveryAction()) { - case RecoveryAction.openBrowser: - case RecoveryAction.disableBlockedWhenDisconnected: - return messages.pgettext( - 'connect-view', - 'Either buy credit on our website or redeem a voucher.', - ); - case RecoveryAction.disconnect: - return messages.pgettext( - 'connect-view', - 'To add more, you will need to disconnect and access the Internet with an unsecure connection.', - ); - } - }; + if (blockWhenDisconnected && isBlocked) { + recoveryAction = RecoveryAction.disableBlockedWhenDisconnected; + } else if (!blockWhenDisconnected && isBlocked) { + recoveryAction = RecoveryAction.disconnect; + } else { + recoveryAction = RecoveryAction.openBrowser; + } + + let recoveryMessage: string; + + switch (recoveryAction) { + case RecoveryAction.openBrowser: + case RecoveryAction.disableBlockedWhenDisconnected: + recoveryMessage = messages.pgettext( + 'connect-view', + 'Either buy credit on our website or redeem a voucher.', + ); + break; + case RecoveryAction.disconnect: + recoveryMessage = messages.pgettext( + 'connect-view', + 'To add more, you will need to disconnect and access the Internet with an unsecure connection.', + ); + break; + } - return { getRecoveryAction, getRecoveryActionMessage }; + return { recoveryAction, recoveryMessage }; }; const useIsNewAccount = () => { |
