aboutsummaryrefslogtreecommitdiff
path: root/src/modules/shout.js
diff options
context:
space:
mode:
authorShpuld Shpuldson <shp@cock.li>2021-08-08 16:14:22 +0300
committerShpuld Shpuldson <shp@cock.li>2021-08-08 16:14:22 +0300
commitcc170aa3ecffa75004760fc6d02bd87373132f7d (patch)
tree7d187ff11219399318f7482e0bc032cb20d025b9 /src/modules/shout.js
parentc3fcbbd918ddef4e3f574a464fd10f4899bb2dce (diff)
parent425919a0d292b79869ebefd2a4d52ed4db45d319 (diff)
Update master with 2.4.0
Diffstat (limited to 'src/modules/shout.js')
-rw-r--r--src/modules/shout.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/modules/shout.js b/src/modules/shout.js
new file mode 100644
index 00000000..507a4d83
--- /dev/null
+++ b/src/modules/shout.js
@@ -0,0 +1,33 @@
+const shout = {
+ state: {
+ messages: [],
+ channel: { state: '' }
+ },
+ 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: {
+ initializeShout (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 shout