You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.1 KiB
42 lines
1.1 KiB
3 years ago
|
import React from 'react';
|
||
|
import { useSelector } from 'react-redux';
|
||
|
import { Redirect } from 'react-router-dom';
|
||
|
import {
|
||
|
DEFAULT_ROUTE,
|
||
|
ONBOARDING_COMPLETION_ROUTE,
|
||
|
ONBOARDING_GET_STARTED_ROUTE,
|
||
|
ONBOARDING_UNLOCK_ROUTE,
|
||
|
LOCK_ROUTE,
|
||
|
} from '../../../helpers/constants/routes';
|
||
|
import {
|
||
|
getCompletedOnboarding,
|
||
|
getIsInitialized,
|
||
|
getIsUnlocked,
|
||
|
getSeedPhraseBackedUp,
|
||
|
} from '../../../ducks/metamask/metamask';
|
||
|
|
||
|
export default function OnboardingFlowSwitch() {
|
||
|
const completedOnboarding = useSelector(getCompletedOnboarding);
|
||
|
const isInitialized = useSelector(getIsInitialized);
|
||
|
const seedPhraseBackedUp = useSelector(getSeedPhraseBackedUp);
|
||
|
const isUnlocked = useSelector(getIsUnlocked);
|
||
|
|
||
|
if (completedOnboarding) {
|
||
|
return <Redirect to={{ pathname: DEFAULT_ROUTE }} />;
|
||
|
}
|
||
|
|
||
|
if (seedPhraseBackedUp !== null) {
|
||
|
return <Redirect to={{ pathname: ONBOARDING_COMPLETION_ROUTE }} />;
|
||
|
}
|
||
|
|
||
|
if (isUnlocked) {
|
||
|
return <Redirect to={{ pathname: LOCK_ROUTE }} />;
|
||
|
}
|
||
|
|
||
|
if (!isInitialized) {
|
||
|
return <Redirect to={{ pathname: ONBOARDING_GET_STARTED_ROUTE }} />;
|
||
|
}
|
||
|
|
||
|
return <Redirect to={{ pathname: ONBOARDING_UNLOCK_ROUTE }} />;
|
||
|
}
|