diff options
| author | eal <eal@waifu.club> | 2017-12-07 17:08:20 +0000 |
|---|---|---|
| committer | eal <eal@waifu.club> | 2017-12-07 17:08:20 +0000 |
| commit | 63d29eab3f0e399e8a3b1bbfa35f1717715ffc63 (patch) | |
| tree | bc0884dff5f19fc69d0248dca141f0f5f6d5eba0 /src/modules/chat.js | |
| parent | bf7b5a7105e6543411d83ba126dab6b00955c98c (diff) | |
| parent | ecb8acb155a77092b0661854b0ca4cf3c19ff56e (diff) | |
Merge branch 'feature/chat' into 'develop'
Feature/chat
See merge request pleroma/pleroma-fe!182
Diffstat (limited to 'src/modules/chat.js')
| -rw-r--r-- | src/modules/chat.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/modules/chat.js b/src/modules/chat.js new file mode 100644 index 00000000..b1244ebe --- /dev/null +++ b/src/modules/chat.js @@ -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 |
