summaryrefslogtreecommitdiff
path: root/hi-ui/src/lib/ActiveChannel.svelte
diff options
context:
space:
mode:
authorOwen Jacobson <owen@grimoire.ca>2024-10-05 18:17:25 -0400
committerOwen Jacobson <owen@grimoire.ca>2024-10-05 18:17:25 -0400
commit0c0cd1daa0c6640e81bb6282ae4a1c574cf135f4 (patch)
treed6b4195cc7be249fb55cb1160f01db0a6daa84f1 /hi-ui/src/lib/ActiveChannel.svelte
parent54a542df2164e421e78b48d7229a6bfabbc5c26b (diff)
parent40cc35bcc9b881a61ca62c67e107bb17c2748f57 (diff)
Merge branch 'wip/ui'
Diffstat (limited to 'hi-ui/src/lib/ActiveChannel.svelte')
-rw-r--r--hi-ui/src/lib/ActiveChannel.svelte33
1 files changed, 33 insertions, 0 deletions
diff --git a/hi-ui/src/lib/ActiveChannel.svelte b/hi-ui/src/lib/ActiveChannel.svelte
new file mode 100644
index 0000000..84f9119
--- /dev/null
+++ b/hi-ui/src/lib/ActiveChannel.svelte
@@ -0,0 +1,33 @@
+<script>
+ import { activeChannel, events } from '../store';
+ import Message from './Message.svelte';
+
+ let container;
+ $: messages = $events.filter(
+ (ev) => (
+ ev.type === 'message'
+ && $activeChannel !== null
+ && ev.channel.id === $activeChannel.id
+ )
+ );
+
+ // TODO: eventually, store scroll height/last unread in channel? scroll there?
+
+ let scroll = (message) => {
+ message.scrollIntoView();
+ }
+</script>
+
+<div class="container" bind:this={container}>
+ {#each messages as message}
+ <div use:scroll>
+ <Message {...message} />
+ </div>
+ {/each}
+</div>
+
+<style>
+ .container {
+ overflow: scroll;
+ }
+</style>