import config from '@/config' import {ADMIN} from '@/config/default' import {formatFullPath} from '@/utils/i18n' export default { namespaced: true, state: { isMobile: false, animates: ADMIN.animates, palettes: ADMIN.palettes, pageMinHeight: 0, menuData: [], activatedFirst: undefined, ...config, }, getters: { firstMenu(state) { const {menuData} = state if (!menuData[0].fullPath) { formatFullPath(menuData) } return menuData.map(item => { const menuItem = {...item} delete menuItem.children return menuItem }) }, subMenu(state) { const {menuData, activatedFirst} = state if (!menuData[0].fullPath) { formatFullPath(menuData) } const current = menuData.find(menu => menu.fullPath === activatedFirst) return current ? current.children : [] } }, mutations: { setDevice (state, isMobile) { state.isMobile = isMobile }, setTheme (state, theme) { state.theme = theme }, setLayout (state, layout) { state.layout = layout }, setMultiPage (state, multiPage) { state.multiPage = multiPage }, setAnimate (state, animate) { state.animate = animate }, setWeekMode(state, weekMode) { state.weekMode = weekMode }, setFixedHeader(state, fixedHeader) { state.fixedHeader = fixedHeader }, setFixedSideBar(state, fixedSideBar) { state.fixedSideBar = fixedSideBar }, setLang(state, lang) { state.lang = lang }, setHideSetting(state, hideSetting) { state.hideSetting = hideSetting }, correctPageMinHeight(state, minHeight) { state.pageMinHeight += minHeight }, setMenuData(state, menuData) { state.menuData = menuData }, setAsyncRoutes(state, asyncRoutes) { state.asyncRoutes = asyncRoutes }, setActivatedFirst(state, activatedFirst) { state.activatedFirst = activatedFirst } } }