Whalebird-desktop-client-ma.../src/renderer/store/index.ts

46 lines
1.2 KiB
TypeScript

import Vue from 'vue'
import Vuex from 'vuex'
import createLogger from 'vuex/dist/logger'
import { Route } from 'vue-router'
import App, { AppState } from './App'
import GlobalHeader, { GlobalHeaderState } from './GlobalHeader'
import Login, { LoginState } from './Login'
import Authorize, { AuthorizeState } from './Authorize'
import TimelineSpace, { TimelineSpaceModuleState } from './TimelineSpace'
import Preferences, { PreferencesModuleState } from './Preferences'
import Settings, { SettingsModuleState } from './Settings'
import organisms, { OrganismsModuleState } from './organisms'
import { MyWindow } from '~/src/types/global'
Vue.use(Vuex)
const win = (window as any) as MyWindow
export interface RootState {
App: AppState
GlobalHeader: GlobalHeaderState
Login: LoginState
Authorize: AuthorizeState
TimelineSpace: TimelineSpaceModuleState
Preferences: PreferencesModuleState
Settings: SettingsModuleState
molecules: OrganismsModuleState
route: Route
}
export default new Vuex.Store({
strict: win.node_env !== 'production',
plugins: win.node_env !== 'production' ? [createLogger({})] : [],
modules: {
App,
GlobalHeader,
Login,
Authorize,
TimelineSpace,
Preferences,
Settings,
organisms
}
})