Move chat to own module.
This commit is contained in:
parent
0e51fac2b2
commit
27be1e0fa3
5 changed files with 55 additions and 22 deletions
33
src/modules/chat.js
Normal file
33
src/modules/chat.js
Normal 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
|
Loading…
Add table
Add a link
Reference in a new issue