Archived
2
0
This repository has been archived on 2024-06-24. You can view files and clone it, but cannot push or open issues or pull requests.
neko-custom/client/src/store/index.ts

70 lines
1.4 KiB
TypeScript
Raw Normal View History

2020-01-21 03:36:18 +13:00
import Vue from 'vue'
import Vuex from 'vuex'
import { useAccessor, mutationTree, actionTree } from 'typed-vuex'
import * as video from './video'
2020-01-23 06:16:40 +13:00
import * as chat from './chat'
2020-01-21 03:36:18 +13:00
import * as remote from './remote'
import * as user from './user'
2020-01-23 06:16:40 +13:00
import * as settings from './settings'
import * as client from './client'
2020-01-21 03:36:18 +13:00
export const state = () => ({
connecting: false,
connected: false,
})
// type RootState = ReturnType<typeof state>
export const getters = {
// connected: (state: RootState) => state.connected
}
export const mutations = mutationTree(state, {
2020-01-23 06:16:40 +13:00
initialiseStore(state) {
console.log('test')
2020-01-21 03:36:18 +13:00
},
2020-01-23 06:16:40 +13:00
setConnnecting(state) {
state.connected = false
state.connecting = true
2020-01-21 03:36:18 +13:00
},
2020-01-23 06:16:40 +13:00
2020-01-21 03:36:18 +13:00
setConnected(state, connected: boolean) {
state.connected = connected
2020-01-23 06:16:40 +13:00
state.connecting = false
2020-01-21 03:36:18 +13:00
},
})
export const actions = actionTree(
{ state, getters, mutations },
{
//
2020-01-23 06:16:40 +13:00
connect(store, { username, password }: { username: string; password: string }) {
$client.connect(password, username)
},
2020-01-21 03:36:18 +13:00
},
)
export const storePattern = {
state,
mutations,
actions,
2020-01-23 06:16:40 +13:00
modules: { video, chat, user, remote, settings, client },
2020-01-21 03:36:18 +13:00
}
Vue.use(Vuex)
const store = new Vuex.Store(storePattern)
export const accessor = useAccessor(store, storePattern)
Vue.prototype.$accessor = accessor
2020-01-23 06:16:40 +13:00
declare module 'vue/types/vue' {
interface Vue {
$accessor: typeof accessor
}
}
2020-01-21 03:36:18 +13:00
export default store