import { LOAD_USER_REQUEST, LOAD_USER_SUCCESS, LOAD_USER_FAIL, FORGOT_PASSWORD_REQUEST, FORGOT_PASSWORD_SUCCESS, FORGOT_PASSWORD_FAIL, RESET_PASSWORD_REQUEST, RESET_PASSWORD_SUCCESS, RESET_PASSWORD_FAIL, UPDATE_USER_PROFILE_REQUEST, UPDATE_USER_PROFILE_SUCCESS, UPDATE_USER_PROFILE_RESET, UPDATE_USER_PROFILE_FAIL, REGISTER_USER_REQUEST, REGISTER_USER_SUCCESS, REGISTER_USER_FAIL, CLEAR_ERRORS, GET_END_USER_FAIL, GET_END_USER_SUCCESS, GET_END_USER_REQUEST } from "../constants/userConstants"; // Auth reducer export const authReducer = (state = { loading: false, success: false, user: null }, action) => { switch (action.type) { case REGISTER_USER_REQUEST: return { loading: true }; case REGISTER_USER_SUCCESS: console.log(`Received dispatch REGISTER_USER_SUCCESS`); return { loading: false, success: true }; case REGISTER_USER_FAIL: return { loading: false, error: action.payload.error.message }; case CLEAR_ERRORS: return { ...state, error: null }; default: return state; } }; // Load user reducer export const loadedUserReducer = (state = { loading: true, success: false, loadedUser: null }, action) => { switch (action.type) { case LOAD_USER_REQUEST: return { loading: true, isAuthenticated: false }; case LOAD_USER_SUCCESS: return { loading: false, isAuthenticated: true, loadedUser: action.payload }; case LOAD_USER_FAIL: return { loading: false, isAuthenticated: true, error: action.payload.error.message }; case CLEAR_ERRORS: return { ...state, error: null }; default: return state; } }; // User reducer export const userReducer = (state = {}, action) => { switch (action.type) { case UPDATE_USER_PROFILE_REQUEST: return { loading: true }; case UPDATE_USER_PROFILE_SUCCESS: return { loading: false, isUpdated: action.payload }; case UPDATE_USER_PROFILE_RESET: return { loading: false, isUpdated: false }; case UPDATE_USER_PROFILE_FAIL: return { loading: false, error: action.payload.error.message }; case CLEAR_ERRORS: return { ...state, error: null }; default: return state; } }; // Forgot password reducer export const forgotPasswordReducer = (state = {}, action) => { switch (action.type) { case FORGOT_PASSWORD_REQUEST: return { loading: true }; case FORGOT_PASSWORD_SUCCESS: return { loading: false, message: action.payload }; case FORGOT_PASSWORD_FAIL: return { loading: false, error: action.payload.error.message }; case CLEAR_ERRORS: return { ...state, error: null }; default: return state; } }; // Reset password reducer export const resetPasswordReducer = (state = {}, action) => { switch (action.type) { case RESET_PASSWORD_REQUEST: return { loading: true }; case RESET_PASSWORD_SUCCESS: return { loading: false, message: action.payload }; case RESET_PASSWORD_FAIL: return { loading: false, error: action.payload.error.message }; case CLEAR_ERRORS: return { ...state, error: null }; default: return state; } }; // Load user reducer export const getEndUserReducer = (state = { loading: true, success: false, endUser: null }, action) => { switch (action.type) { case GET_END_USER_REQUEST: return { loading: true, isAuthenticated: false }; case GET_END_USER_SUCCESS: return { loading: false, isAuthenticated: true, endUser: action.payload }; case GET_END_USER_FAIL: return { loading: false, isAuthenticated: true, error: action.payload.error.message }; case CLEAR_ERRORS: return { ...state, error: null }; default: return state; } };