import { createSlice, PayloadAction } from '@reduxjs/toolkit'; import { UserPayloadObject } from '../interfaces'; interface MainState { userName: string; userEmail: null | string; userAvatar: null | string; isFieldFocusRegistered: boolean; } const initialState: MainState = { /* User */ userName: '', userEmail: null, userAvatar: null, /* Field focus with ctrl+k (to register only once) */ isFieldFocusRegistered: false, }; export const mainSlice = createSlice({ name: 'main', initialState, reducers: { setUser: (state, action: PayloadAction) => { state.userName = action.payload.name; state.userEmail = action.payload.email; state.userAvatar = action.payload.avatar; }, }, }); // Action creators are generated for each case reducer function export const { setUser } = mainSlice.actions; export default mainSlice.reducer;