const initialState = { currentSettings: null, loading: false, error: null, success: false, } const mailSettingsReducer = (state = initialState, action) => { switch (action.type) { case "GET_MAIL_SETTINGS_PENDING": return { ...state, loading: true, error: null, } case "GET_MAIL_SETTINGS_FULFILLED": return { ...state, loading: false, // Even if payload is null, we still want to set loading to false currentSettings: action.payload || null, } case "GET_MAIL_SETTINGS_REJECTED": return { ...state, loading: false, error: action.payload || "Failed to fetch mail settings", } case "UPDATE_MAIL_SETTINGS_PENDING": return { ...state, loading: true, error: null, success: false, } case "UPDATE_MAIL_SETTINGS_FULFILLED": return { ...state, loading: false, currentSettings: action.payload, success: true, } case "UPDATE_MAIL_SETTINGS_REJECTED": return { ...state, loading: false, error: action.payload || "Failed to update mail settings", success: false, } case "CLEAR_MAIL_ERROR": return { ...state, error: null, } case "CLEAR_MAIL_SUCCESS": return { ...state, success: false, } default: return state } } export default mailSettingsReducer