mirror of
https://github.com/danbulant/Nertivia-Client
synced 2026-06-19 06:21:02 +00:00
62 lines
No EOL
1.3 KiB
JavaScript
62 lines
No EOL
1.3 KiB
JavaScript
import {bus} from '../../main'
|
|
import {router} from './../../router'
|
|
import Vue from 'vue';
|
|
|
|
const state = {
|
|
selectedChannelID: null,
|
|
channelName: null,
|
|
channels: {}
|
|
}
|
|
|
|
const getters = {
|
|
selectedChannelID(state) {
|
|
return state.selectedChannelID;
|
|
},
|
|
channels(state) {
|
|
return state.channels;
|
|
},
|
|
channelName(state) {
|
|
return state.channelName;
|
|
}
|
|
}
|
|
|
|
const actions = {
|
|
channel(context, channel) {
|
|
context.commit('channel', channel)
|
|
},
|
|
selectedChannelID(context, channelID) {
|
|
context.commit('selectedChannelID', channelID)
|
|
},
|
|
setChannelName(context, name) {
|
|
context.commit('setChannelName', name)
|
|
},
|
|
updateChannelLastMessage(context, channelID) {
|
|
context.commit('updateChannelLastMessage', channelID)
|
|
}
|
|
}
|
|
|
|
const mutations = {
|
|
updateChannelLastMessage(state, channelID){
|
|
Vue.set(state.channels[channelID], 'lastMessaged', Date.now());
|
|
},
|
|
addAllChannels(state, channels){
|
|
Vue.set(state, 'channels', channels);
|
|
},
|
|
channel(state, channel) {
|
|
Vue.set(state.channels, channel.channelID, channel);
|
|
},
|
|
selectedChannelID(state, channelID) {
|
|
state.selectedChannelID = channelID;
|
|
},
|
|
setChannelName(state, name) {
|
|
state.channelName = name;
|
|
}
|
|
}
|
|
|
|
export default {
|
|
namespace: true,
|
|
state,
|
|
actions,
|
|
mutations,
|
|
getters
|
|
} |