Move chat to own module.

This commit is contained in:
Roger Braun 2017-12-05 11:47:10 +01:00
parent 0e51fac2b2
commit 27be1e0fa3
5 changed files with 55 additions and 22 deletions

33
src/modules/chat.js Normal file
View file

@ -0,0 +1,33 @@
const chat = {
state: {
messages: [],
channel: null
},
mutations: {
setChannel (state, channel) {
state.channel = channel
},
addMessage (state, message) {
state.messages.push(message)
state.messages = state.messages.slice(-19, 20)
},
setMessages (state, messages) {
state.messages = messages.slice(-19, 20)
}
},
actions: {
initializeChat (store, socket) {
const channel = socket.channel('chat:public')
channel.on('new_msg', (msg) => {
store.commit('addMessage', msg)
})
channel.on('messages', ({messages}) => {
store.commit('setMessages', messages)
})
channel.join()
store.commit('setChannel', channel)
}
}
}
export default chat