summaryrefslogtreecommitdiffstats
path: root/webapp/src/store/global.js
blob: 0b52b1235f10f04968a458facf9a4f8349a32a13 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
export default {
  state: {
    locale: localStorage.getItem('locale') || 'en',
    dark: localStorage.getItem('dark') !== 'false',
    coloredTabs: localStorage.getItem('coloredTabs') === 'true',
    clipped: localStorage.getItem('clipped') !== 'false',
    mini: localStorage.getItem('mini') !== 'false',
    snackbars: []
  },
  getters: {
    tabsDark: state => state.dark || state.coloredTabs,
    tabsColor: state => state.coloredTabs ? 'primary' : '',
    tabsSliderColor: state => state.coloredTabs ? 'white' : 'primary',
    nextSnackbar (state) {
      if (state.snackbars) return state.snackbars[0]
      else return ''
    },
  },
  mutations: {
    setLocale: (state, value) => { state.locale = value; localStorage.setItem('locale', value) },
    setDark: (state, value) => { state.dark = value; localStorage.setItem('dark', value) },
    setColoredTabs: (state, value) => { state.coloredTabs = value; localStorage.setItem('coloredTabs', value) },
    setClipped: (state, value) => { state.clipped = value; localStorage.setItem('clipped', value) },
    setMini: (state, value) => { state.mini = value; localStorage.setItem('mini', value) },
    shiftSnackbars (state) {
      state.snackbars.shift()
    },
    newSnackbar (state, text) {
      state.snackbars.push(text)
    }
  }
}