settings.reducer.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import { TOGGLE_SETTING, CHANGE_SETTING } from '../actions/actions';
  2. const initialSettings = {
  3. /* Layout fixed. Scroll content only */
  4. isFixed: true,
  5. /* Sidebar collapsed */
  6. isCollapsed: false,
  7. /* Boxed layout */
  8. isBoxed: false,
  9. /* Floating sidebar */
  10. isFloat: false,
  11. /* Sidebar show menu on hover only */
  12. asideHover: false,
  13. /* Show sidebar scrollbar (dont' hide it) */
  14. asideScrollbar: false,
  15. /* Sidebar collapsed with big icons and text */
  16. isCollapsedText: false,
  17. /* Toggle for the offsidebar */
  18. offsidebarOpen: false,
  19. /* Toggle for the sidebar offcanvas (mobile) */
  20. asideToggled: false,
  21. /* Toggle for the sidebar user block */
  22. showUserBlock: false,
  23. /* Enables layout horizontal */
  24. horizontal: false,
  25. /* Full size layout */
  26. useFullLayout: false,
  27. /* Hide footer */
  28. hiddenFooter: false
  29. };
  30. const settingsReducer = (state = initialSettings, action) => {
  31. switch (action.type) {
  32. case TOGGLE_SETTING:
  33. return {
  34. ...state,
  35. [action.name]: !state[action.name]
  36. }
  37. case CHANGE_SETTING:
  38. return {
  39. ...state,
  40. [action.name]: action.value
  41. };
  42. default:
  43. return state;
  44. }
  45. }
  46. export default settingsReducer;