@lumina-study/user-settings-redux
Version:
Redux store for Lumina Study user settings with unstorage persistence
45 lines • 1.3 kB
JavaScript
import { createSlice } from '@reduxjs/toolkit';
/**
* Initial state for user settings with default values
*/
const initialState = {
language: 'en',
};
/**
* Redux slice for user settings
* Manages the state of user preferences including language
*/
export const userSettingsSlice = createSlice({
name: 'userSettings',
initialState,
reducers: {
/**
* Set the complete user settings state
* Used primarily when loading persisted settings from storage
*/
setUserSettings: (state, action) => {
return action.payload;
},
/**
* Update the user interface language
*/
setLanguage: (state, action) => {
state.language = action.payload;
},
/**
* Update partial user settings
*/
updateUserSettings: (state, action) => {
return { ...state, ...action.payload };
},
/**
* Reset settings to default values
*/
resetUserSettings: () => {
return initialState;
},
},
});
export const { setUserSettings, setLanguage, updateUserSettings, resetUserSettings, } = userSettingsSlice.actions;
export default userSettingsSlice.reducer;
//# sourceMappingURL=userSettingsSlice.js.map