2018-11-15 19:48:37 +01:00
|
|
|
import { IGlobalState } from '@types'
|
|
|
|
|
import { storeBuilder } from '@store'
|
|
|
|
|
|
|
|
|
|
const state: IGlobalState = {
|
|
|
|
|
conta: 0,
|
|
|
|
|
isLoginPage: false,
|
|
|
|
|
layoutNeeded: true,
|
|
|
|
|
mobileMode: false,
|
|
|
|
|
menuCollapse: true,
|
|
|
|
|
posts: []
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const b = storeBuilder.module<IGlobalState>('GlobalModule', state)
|
|
|
|
|
const stateGetter = b.state()
|
|
|
|
|
|
|
|
|
|
// Getters
|
|
|
|
|
namespace Getters {
|
|
|
|
|
|
|
|
|
|
const getConta = b.read(function getConta(state: IGlobalState): number {
|
|
|
|
|
return state.conta
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
const getIsLoginPage = b.read(function getIsLoginPage(state: IGlobalState): boolean {
|
|
|
|
|
return state.isLoginPage
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
const getLayoutNeeded = b.read(function getLayoutNeeded(state: IGlobalState): boolean {
|
|
|
|
|
return state.layoutNeeded
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
const getMobileMode = b.read(function getMobileMode(state: IGlobalState): boolean {
|
|
|
|
|
return state.mobileMode
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
const getMenuCollapse = b.read(function getMenuCollapse(state: IGlobalState): boolean {
|
|
|
|
|
return state.menuCollapse
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
const getPosts = b.read(function getPosts(state: IGlobalState): boolean {
|
|
|
|
|
return state.posts
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
export const getters = {
|
|
|
|
|
get getConta() { return getConta() },
|
|
|
|
|
get getIsLoginPage() { return getIsLoginPage() },
|
|
|
|
|
get getLayoutNeeded() { return getLayoutNeeded() },
|
|
|
|
|
get getMobileMode() { return getMobileMode() },
|
|
|
|
|
get getMenuCollapse() { return getMenuCollapse() },
|
|
|
|
|
get getPosts() { return getPosts() }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
namespace Mutations {
|
|
|
|
|
|
|
|
|
|
function setConta(state: IGlobalState, num: number) {
|
|
|
|
|
state.conta = num
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const mutations = {
|
|
|
|
|
setConta: b.commit(setConta)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
namespace Actions {
|
2018-11-17 20:32:28 +01:00
|
|
|
async function setConta(context, num: number) {
|
2018-11-15 19:48:37 +01:00
|
|
|
Mutations.mutations.setConta(num)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const actions = {
|
|
|
|
|
setConta: b.dispatch(setConta)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Module
|
|
|
|
|
const GlobalModule = {
|
|
|
|
|
get state() { return stateGetter()},
|
|
|
|
|
getters: Getters.getters,
|
|
|
|
|
mutations: Mutations.mutations,
|
|
|
|
|
actions: Actions.actions
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export default GlobalModule
|
|
|
|
|
|