Page MenuHomePhorge

shout.js
No OneTemporary

Size
790 B
Referenced Files
None
Subscribers
None

shout.js

import { defineStore } from 'pinia'
export const useShoutStore = defineStore('shout', {
state: () => ({
messages: [],
channel: { state: '' },
joined: false
}),
actions: {
initializeShout (socket) {
const channel = socket.channel('chat:public')
channel.joinPush.receive('ok', () => {
this.joined = true
})
channel.onClose(() => {
this.joined = false
})
channel.onError(() => {
this.joined = false
})
channel.on('new_msg', (msg) => {
this.messages.push(msg)
this.messages = this.messages.slice(-19, 20)
})
channel.on('messages', ({ messages }) => {
this.messages = messages.slice(-19, 20)
})
channel.join()
this.channel = channel
}
}
})

File Metadata

Mime Type
text/plain
Expires
Tue, Jan 20, 1:10 PM (14 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
973674
Default Alt Text
shout.js (790 B)

Event Timeline