@dakingindanorf/hive
Version:
A template for creating a nuxt generated static site using Netlify CMS to power the backend. Individual site components can be managed through Bit
49 lines (43 loc) • 1.11 kB
JavaScript
import Vue from 'vue'
import init from '../../content/config.json'
import initDemo from '../../content/demo/demo-config.json'
const state = () => ({
config: init,
demoConfig: initDemo,
settings: {},
page: {},
nav: {},
social: {},
styles: {}
})
const getters = {
config: state => state.config,
demoConfig: state => state.demoConfig,
settings: state => state.settings,
page: state => state.page,
nav: state => state.nav,
social: state => state.social,
styles: state => state.styles
}
const mutations = {
setConfig(state, config) {
state.config = config
},
setContent(state, payload) {
state[payload.key] = payload.value
},
mergeBits(state, data) {
Vue.set(state.config.collections[0].fields[2], 'types', data)
}
}
const actions = {
setConfig: ({ commit }, config) => commit('setConfig', config),
setContent: ({ commit }, content) => commit('setContent', content),
mergeBits: ({ commit }, data) => commit('mergeBits', data)
}
export default {
state,
getters,
mutations,
actions
}