diff options
Diffstat (limited to 'hi-ui')
| -rw-r--r-- | hi-ui/src/apiServer.js | 4 | ||||
| -rw-r--r-- | hi-ui/src/store/messages.js | 15 |
2 files changed, 8 insertions, 11 deletions
diff --git a/hi-ui/src/apiServer.js b/hi-ui/src/apiServer.js index 648edf5..e87e2d6 100644 --- a/hi-ui/src/apiServer.js +++ b/hi-ui/src/apiServer.js @@ -81,10 +81,10 @@ function onChannelEvent(data) { function onMessageEvent(data) { switch (data.event) { case 'sent': - messages.update((value) => value.addMessage(data)); + messages.update((value) => value.addMessage(data.channel, data.at, data.sender, data.body)); break; case 'deleted': - messages.update((value) => value.deleteMessage(data.channel.id, data.id)); + messages.update((value) => value.deleteMessage(data.id)); break; } } diff --git a/hi-ui/src/store/messages.js b/hi-ui/src/store/messages.js index cefd725..f9e0856 100644 --- a/hi-ui/src/store/messages.js +++ b/hi-ui/src/store/messages.js @@ -7,13 +7,8 @@ export class Messages { return this.channels[channel] || []; } - addMessage(message) { - let { - channel, - ...payload - } = message; - let channel_id = channel.id; - this.updateChannel(channel_id, (messages) => [...messages, payload]); + addMessage(channel, at, sender, body) { + this.updateChannel(channel, (messages) => [...messages, { at, sender, body }]); return this; } @@ -23,8 +18,10 @@ export class Messages { } - deleteMessage(channel, message) { - this.updateChannel(channel, (messages) => messages.filter((msg) => msg.id != message)); + deleteMessage(message) { + for (let channel in this.channels) { + this.updateChannel(channel, (messages) => messages.filter((msg) => msg.id != message)); + } return this; } |
