Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | 540x 540x 540x | import { userVerificationSteps } from "@constants/constants";
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
type Keys = keyof typeof userVerificationSteps;
type VerificationStep = (typeof userVerificationSteps)[Keys];
type VerificationMethodSelected = "email" | "text" | null; //null means i already have a code
export interface VerificationState {
currentVerificationStep: VerificationStep;
methodSelected: VerificationMethodSelected;
}
const initialState: VerificationState = {
currentVerificationStep: userVerificationSteps?.idle,
methodSelected: "email",
};
const verificationSlice = createSlice({
name: "verification",
initialState,
reducers: {
setVerificationStep: (state, action: PayloadAction<VerificationStep>) => {
state.currentVerificationStep = action.payload;
},
setMethodSelected: (
state,
action: PayloadAction<VerificationMethodSelected>,
) => {
state.methodSelected = action.payload;
},
setVerificationState: (state, action: PayloadAction<VerificationState>) => {
state.currentVerificationStep = action.payload.currentVerificationStep;
state.methodSelected = action.payload.methodSelected;
},
},
});
export const { setVerificationStep, setMethodSelected, setVerificationState } =
verificationSlice.actions;
export default verificationSlice.reducer;
|