summaryrefslogtreecommitdiff
path: root/ui/lib/components/ActiveChannel.svelte
diff options
context:
space:
mode:
authorKit La Touche <kit@transneptune.net>2024-11-09 22:55:22 -0500
committerKit La Touche <kit@transneptune.net>2024-11-09 22:55:22 -0500
commit24eb775ba77f5a6a78a299d9fdffb34f8f167f8d (patch)
tree32ab5163d55688dd90dc796aa44d94fec0b35c81 /ui/lib/components/ActiveChannel.svelte
parent91ce856f63bd1d7a188488476bdbec60b5bd58ff (diff)
parenta417c62edd4d3c07ba37b01835e89ed650489e09 (diff)
Merge branch 'main' into wip/touch-events
Diffstat (limited to 'ui/lib/components/ActiveChannel.svelte')
-rw-r--r--ui/lib/components/ActiveChannel.svelte43
1 files changed, 6 insertions, 37 deletions
diff --git a/ui/lib/components/ActiveChannel.svelte b/ui/lib/components/ActiveChannel.svelte
index a4ccd24..ba62d6c 100644
--- a/ui/lib/components/ActiveChannel.svelte
+++ b/ui/lib/components/ActiveChannel.svelte
@@ -1,42 +1,11 @@
<script>
- import { messages } from '$lib/store';
import MessageRun from './MessageRun.svelte';
- let { channel } = $props();
- let messageList = $derived(channel !== null ? $messages.inChannel(channel) : []);
-
- function* chunkBy(xs, fn) {
- let chunk;
- let key;
- for (let x of xs) {
- let newKey = fn(x);
- if (key !== newKey) {
- if (chunk !== undefined) {
- yield [key, chunk];
- }
-
- chunk = [x];
- key = newKey;
- } else {
- chunk.push(x);
- }
- }
- if (chunk !== undefined) {
- yield [key, chunk];
- }
- }
+ let { messageRuns } = $props();
</script>
-<div class="container">
- {#each chunkBy(messageList, (msg) => msg.sender) as [sender, messages]}
- <div>
- <MessageRun {sender} {messages} />
- </div>
- {/each}
-</div>
-
-<style>
- .container {
- overflow: auto;
- }
-</style>
+{#each messageRuns as { sender, messages }}
+ <div>
+ <MessageRun {sender} {messages} />
+ </div>
+{/each}