aboutsummaryrefslogtreecommitdiff
path: root/src/modules/chat.js
diff options
context:
space:
mode:
authoreal <eal@waifu.club>2017-12-07 17:08:20 +0000
committereal <eal@waifu.club>2017-12-07 17:08:20 +0000
commit63d29eab3f0e399e8a3b1bbfa35f1717715ffc63 (patch)
treebc0884dff5f19fc69d0248dca141f0f5f6d5eba0 /src/modules/chat.js
parentbf7b5a7105e6543411d83ba126dab6b00955c98c (diff)
parentecb8acb155a77092b0661854b0ca4cf3c19ff56e (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.js33
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