summaryrefslogtreecommitdiffhomepage
path: root/gui/src/renderer/components/MainView.tsx
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2023-07-14 09:51:37 +0200
committerOskar Nyberg <oskar@mullvad.net>2023-08-28 16:07:31 +0200
commitfd67444fe038ac97c553493614b357745834bdb7 (patch)
treeb834d6bc2f370fcfa735d2d43484870d3c87b556 /gui/src/renderer/components/MainView.tsx
parentbab7783eee1ad89ecbe45fc061cea59804400740 (diff)
downloadmullvadvpn-fd67444fe038ac97c553493614b357745834bdb7.tar.xz
mullvadvpn-fd67444fe038ac97c553493614b357745834bdb7.zip
Replace out of time view when adding time
Diffstat (limited to 'gui/src/renderer/components/MainView.tsx')
-rw-r--r--gui/src/renderer/components/MainView.tsx56
1 files changed, 0 insertions, 56 deletions
diff --git a/gui/src/renderer/components/MainView.tsx b/gui/src/renderer/components/MainView.tsx
deleted file mode 100644
index 9269013732..0000000000
--- a/gui/src/renderer/components/MainView.tsx
+++ /dev/null
@@ -1,56 +0,0 @@
-import { useEffect, useState } from 'react';
-
-import { hasExpired } from '../../shared/account-expiry';
-import { AuthFailedError, ErrorStateCause } from '../../shared/daemon-rpc-types';
-import Connect from '../components/Connect';
-import { useAppContext } from '../context';
-import { useHistory } from '../lib/history';
-import { RoutePath } from '../lib/routes';
-import { useSelector } from '../redux/store';
-import ExpiredAccountErrorView from './ExpiredAccountErrorView';
-
-type ExpiryData = { show: false } | { show: true; expiry: string | undefined };
-
-export default function MainView() {
- const { updateAccountData } = useAppContext();
- const history = useHistory();
- const accountExpiry = useSelector((state) => state.account.expiry);
- const accountHasExpired = accountExpiry !== undefined && hasExpired(accountExpiry);
- const isNewAccount = useSelector(
- (state) => state.account.status.type === 'ok' && state.account.status.method === 'new_account',
- );
- const tunnelState = useSelector((state) => state.connection.status);
-
- const [showAccountExpired, setShowAccountExpired] = useState<ExpiryData>(() =>
- isNewAccount || accountHasExpired ? { show: true, expiry: accountExpiry } : { show: false },
- );
-
- useEffect(() => {
- updateAccountData();
- }, []);
-
- useEffect(() => {
- if (
- (!showAccountExpired.show || showAccountExpired.expiry !== accountExpiry) &&
- (accountHasExpired ||
- (tunnelState.state === 'error' &&
- tunnelState.details.cause === ErrorStateCause.authFailed &&
- tunnelState.details.authFailedError === AuthFailedError.expiredAccount))
- ) {
- setShowAccountExpired({ show: true, expiry: accountExpiry });
- } else if (
- showAccountExpired.show &&
- accountExpiry &&
- accountExpiry !== showAccountExpired.expiry &&
- !accountHasExpired
- ) {
- history.push(RoutePath.timeAdded);
- }
- }, [showAccountExpired, accountHasExpired, tunnelState.state]);
-
- if (showAccountExpired.show) {
- return <ExpiredAccountErrorView />;
- } else {
- return <Connect />;
- }
-}