import Cookies from 'js-cookie' 
 | 
  
 | 
const state = { 
 | 
  sidebar: { 
 | 
    opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true, 
 | 
    withoutAnimation: false, 
 | 
    hide: false 
 | 
  }, 
 | 
  device: 'desktop', 
 | 
  size: Cookies.get('size') || 'medium' 
 | 
} 
 | 
  
 | 
const mutations = { 
 | 
  TOGGLE_SIDEBAR: state => { 
 | 
    if (state.sidebar.hide) { 
 | 
      return false; 
 | 
    } 
 | 
    state.sidebar.opened = !state.sidebar.opened 
 | 
    state.sidebar.withoutAnimation = false 
 | 
    if (state.sidebar.opened) { 
 | 
      Cookies.set('sidebarStatus', 1) 
 | 
    } else { 
 | 
      Cookies.set('sidebarStatus', 0) 
 | 
    } 
 | 
  }, 
 | 
  CLOSE_SIDEBAR: (state, withoutAnimation) => { 
 | 
    Cookies.set('sidebarStatus', 0) 
 | 
    state.sidebar.opened = false 
 | 
    state.sidebar.withoutAnimation = withoutAnimation 
 | 
  }, 
 | 
  TOGGLE_DEVICE: (state, device) => { 
 | 
    state.device = device 
 | 
  }, 
 | 
  SET_SIZE: (state, size) => { 
 | 
    state.size = size 
 | 
    Cookies.set('size', size) 
 | 
  }, 
 | 
  SET_SIDEBAR_HIDE: (state, status) => { 
 | 
    state.sidebar.hide = status 
 | 
  } 
 | 
} 
 | 
  
 | 
const actions = { 
 | 
  toggleSideBar({ commit }) { 
 | 
    commit('TOGGLE_SIDEBAR') 
 | 
  }, 
 | 
  closeSideBar({ commit }, { withoutAnimation }) { 
 | 
    commit('CLOSE_SIDEBAR', withoutAnimation) 
 | 
  }, 
 | 
  toggleDevice({ commit }, device) { 
 | 
    commit('TOGGLE_DEVICE', device) 
 | 
  }, 
 | 
  setSize({ commit }, size) { 
 | 
    commit('SET_SIZE', size) 
 | 
  }, 
 | 
  toggleSideBarHide({ commit }, status) { 
 | 
    commit('SET_SIDEBAR_HIDE', status) 
 | 
  } 
 | 
} 
 | 
  
 | 
export default { 
 | 
  namespaced: true, 
 | 
  state, 
 | 
  mutations, 
 | 
  actions 
 | 
} 
 |