Skip to content

Commit 6a28bd2

Browse files
committed
Modify message if sent with the same UUID - fixes #3
1 parent e628dce commit 6a28bd2

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

src/App.svelte

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,18 @@
33
import { dracula } from "svelte-highlight/styles";
44
55
import Message from './Message.svelte';
6+
7+
let messages = [];
8+
9+
$: messages = Object.values($messageStore).sort((a, b) => b.time - a.time);
610
</script>
711

812
<svelte:head>
913
{@html dracula}
1014
</svelte:head>
1115

1216
<main>
13-
{#each $messageStore.reverse() as message}
17+
{#each messages as message}
1418
<Message message={message} />
1519
{/each}
1620
</main>

src/messageStore.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,19 @@
11
import { writable } from 'svelte/store';
22
import { assembleUrl } from './util';
33

4-
export const messageStore = writable([]);
4+
export const messageStore = writable({});
55

66
let eventSource = new EventSource(assembleUrl('/events'));
77

88
eventSource.onmessage = function (message) {
99
messageStore.update(m => {
1010
const data = JSON.parse(message.data);
1111
if (data['payloads'].length === 1 && data['payloads'][0]['type'] === 'clear') {
12-
m = [];
12+
m = {};
1313
} else {
14-
m.push(data);
14+
m[data['uuid']] = data;
1515
}
1616

17-
m.sort((a, b) => a.time - b.time);
18-
1917
return m;
2018
})
2119
}

0 commit comments

Comments
 (0)