diff options
| author | Kit La Touche <kit@transneptune.net> | 2024-11-09 22:55:22 -0500 |
|---|---|---|
| committer | Kit La Touche <kit@transneptune.net> | 2024-11-09 22:55:22 -0500 |
| commit | 24eb775ba77f5a6a78a299d9fdffb34f8f167f8d (patch) | |
| tree | 32ab5163d55688dd90dc796aa44d94fec0b35c81 /ui/lib/store/messages.js | |
| parent | 91ce856f63bd1d7a188488476bdbec60b5bd58ff (diff) | |
| parent | a417c62edd4d3c07ba37b01835e89ed650489e09 (diff) | |
Merge branch 'main' into wip/touch-events
Diffstat (limited to 'ui/lib/store/messages.js')
| -rw-r--r-- | ui/lib/store/messages.js | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/ui/lib/store/messages.js b/ui/lib/store/messages.js deleted file mode 100644 index 62c567a..0000000 --- a/ui/lib/store/messages.js +++ /dev/null @@ -1,40 +0,0 @@ -export class Messages { - constructor() { - this.channels = {}; - } - - inChannel(channel) { - return (this.channels[channel] = this.channels[channel] || []); - } - - addMessage(channel, id, at, sender, body) { - this.updateChannel(channel, (messages) => [...messages, { id, at, sender, body }]); - return this; - } - - setMessages(messages) { - this.channels = {}; - for (let { channel, id, at, sender, body } of messages) { - this.inChannel(channel).push({ id, at, sender, body }); - } - return this; - } - - deleteMessage(message) { - for (let channel in this.channels) { - this.updateChannel(channel, (messages) => messages.filter((msg) => msg.id != message)); - } - return this; - } - - deleteChannel(id) { - delete this.channels[id]; - return this; - } - - updateChannel(channel, callback) { - let messages = callback(this.inChannel(channel)); - messages.sort((a, b) => a.at - b.at); - this.channels[channel] = messages; - } -} |
