Only connect to chat when authenticating in the first place

To avoid duplication of the connection, the chat socket is destroyed
upon logging out.
This commit is contained in:
slice 2019-03-10 11:23:27 -07:00
parent a67881b096
commit e618c6ffb0
No known key found for this signature in database
GPG key ID: 1508C19D7436A26D
4 changed files with 15 additions and 5 deletions

View file

@ -1,12 +1,16 @@
const chat = {
state: {
messages: [],
channel: {state: ''}
channel: {state: ''},
socket: null
},
mutations: {
setChannel (state, channel) {
state.channel = channel
},
setSocket (state, socket) {
state.socket = socket
},
addMessage (state, message) {
state.messages.push(message)
state.messages = state.messages.slice(-19, 20)
@ -16,8 +20,12 @@ const chat = {
}
},
actions: {
disconnectFromChat (store) {
store.state.socket.disconnect()
},
initializeChat (store, socket) {
const channel = socket.channel('chat:public')
store.commit('setSocket', socket)
channel.on('new_msg', (msg) => {
store.commit('addMessage', msg)
})