You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.6 KiB
TypeScript
59 lines
1.6 KiB
TypeScript
2 years ago
|
import { createSelector } from '@reduxjs/toolkit';
|
||
|
import { useSelector } from 'react-redux';
|
||
|
import { SignInMode, SignUpMode } from '../../../components/registration/stages';
|
||
|
import { RegistrationPhase, RegistrationState } from '../ducks/registration';
|
||
|
import { OnboardingStoreState } from '../store';
|
||
|
|
||
|
// #region Getters
|
||
|
const getRegistration = (state: OnboardingStoreState): RegistrationState => {
|
||
|
return state.registration;
|
||
|
};
|
||
|
|
||
|
const getGeneratedRecoveryPhrase = createSelector(
|
||
|
getRegistration,
|
||
|
(state: RegistrationState): string => state.generatedRecoveryPhrase
|
||
|
);
|
||
|
|
||
|
const getHexGeneratedPubKey = createSelector(
|
||
|
getRegistration,
|
||
|
(state: RegistrationState): string => state.hexGeneratedPubKey
|
||
|
);
|
||
|
|
||
|
const getRegistrationPhase = createSelector(
|
||
|
getRegistration,
|
||
|
(state: RegistrationState): RegistrationPhase => state.registrationPhase
|
||
|
);
|
||
|
|
||
|
const getSignUpMode = createSelector(
|
||
|
getRegistration,
|
||
|
(state: RegistrationState): SignUpMode => state.signUpMode
|
||
|
);
|
||
|
|
||
|
const getSignInMode = createSelector(
|
||
|
getRegistration,
|
||
|
(state: RegistrationState): SignInMode => state.signInMode
|
||
|
);
|
||
|
// #endregion
|
||
|
|
||
|
// #region Hooks
|
||
|
export const useRegGeneratedRecoveryPhrase = () => {
|
||
|
return useSelector(getGeneratedRecoveryPhrase);
|
||
|
};
|
||
|
|
||
|
export const useRegHexGeneratedPubKey = () => {
|
||
|
return useSelector(getHexGeneratedPubKey);
|
||
|
};
|
||
|
|
||
|
export const useRegRegistrationPhase = () => {
|
||
|
return useSelector(getRegistrationPhase);
|
||
|
};
|
||
|
|
||
|
export const useRegSignUpMode = () => {
|
||
|
return useSelector(getSignUpMode);
|
||
|
};
|
||
|
|
||
|
export const useRegSignInMode = () => {
|
||
|
return useSelector(getSignInMode);
|
||
|
};
|
||
|
// #endregion
|