aboutsummaryrefslogtreecommitdiff
path: root/src/modules/shout.js
diff options
context:
space:
mode:
authorMark Felder <feld@FreeBSD.org>2020-08-03 18:44:35 -0500
committerMark Felder <feld@feld.me>2021-06-01 12:51:20 -0500
commit0604b1d5b7b19db41096876d0d911ea95c3c778f (patch)
tree44a898b9aa8868a0269c45252cfd3c73bca8fa68 /src/modules/shout.js
parent7bd18cda64e0a4ca7a61ff2cf69714f23281e9d9 (diff)
Rename legacy PleromaFE Chat functionality to "Shout"
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..c04f08e9
--- /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('shout: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