import { createSlice } from "@reduxjs/toolkit"; const initialState = { currentUser: null, error: null, loading: false, }; const userSlice = createSlice({ name: 'user', initialState, reducers:{ loginStart: (state) => { state.loading = true; }, loginSuccess: (state, action) => { state.currentUser = action.payload; state.loading = false; state.error = null; }, loginFailure: (state, action) => { state.error = action.payload; state.loading = false; }, updateUserStart: (state) => { state.loading = true; }, updateUserSuccess: (state, action) => { state.currentUser = action.payload; state.loading = false; state.error = null; }, updateUserFailure: (state, action) => { state.error = action.payload; state.loading = false; }, deleteUserStart: (state) => { state.loading = true; }, deleteUserSuccess: (state) => { state.currentUser = null; state.loading = false; state.error = null; }, deleteUserFailure: (state, action) => { state.error = action.payload; state.loading = false; }, logoutUserStart: (state) => { state.loading = true; }, logoutUserSuccess: (state) => { state.currentUser = null; state.loading = false; state.error = null; }, logoutUserFailure: (state, action) => { state.error = action.payload; state.loading = false; }, } }); export const { loginStart, loginSuccess, loginFailure, updateUserStart, updateUserSuccess, updateUserFailure, deleteUserStart, deleteUserSuccess, deleteUserFailure, logoutUserStart, logoutUserSuccess, logoutUserFailure} = userSlice.actions; export default userSlice.reducer;