bendwidth / frontend / src / redux-elements / userDetails.js
userDetails.js
Raw
import { createSlice } from '@reduxjs/toolkit';

// initial user details.
const initialState = {
    uuid: null,
    userId: null,
    userName: null,
    isInquirer: null,
    isRespondent: null,
    collegeName: null,
    userEmail: null,
    gradDate: null,
    isLoggedIn: false,
    hearingIn: null,
    translatingFrom: null,
    sourceLanguage: null,
    localB47: null,
    languageCode: null,
}

export const userDetailsSlice = createSlice({
    name: "userDetails",
    initialState,
    reducers: {
        updateUserDetails: (state, action) => {
            const { prop, value } = action.payload;
            state[prop] = value;
        },
        updateWholeUserObject: (state, action) => {
            const newUserDetails = action.payload;
            state = newUserDetails;
        }
    }
})

export const { updateUserDetails, updateWholeUserObject } = userDetailsSlice.actions;
export default userDetailsSlice.reducer;