petra-tool / frontend / store / snackbar.js
snackbar.js
Raw
export default {
  // https://dev.to/stephannv/how-to-create-a-global-snackbar-using-nuxt-vuetify-and-vuex-1bda
  namespaced: true,

  state() {
    return {
      content: '',
      color: '',
    };
  },

  mutations: {
    showMessage: (state, payload) => {
      state.content = payload.content
      if (payload.color) {
        state.color = payload.color
      } else {
        state.color = 'accent'
      }
    }
  },

  actions: {
    showSnack: ({commit}, payload) => commit('showMessage', payload)
  }
}