summaryrefslogtreecommitdiff
path: root/hi-ui/src/lib/ActiveChannel.svelte
diff options
context:
space:
mode:
authorKit La Touche <kit@transneptune.net>2024-10-03 23:30:10 -0400
committerKit La Touche <kit@transneptune.net>2024-10-03 23:30:10 -0400
commit30c13478d61065a512f5bc8824fecbf2ee6afc81 (patch)
tree5b9f0fe65458f6d19f7f0b3fed9c8d3e4676a175 /hi-ui/src/lib/ActiveChannel.svelte
parent01d995c731c296292cd3f1f9a4702eb96a0bf628 (diff)
Handle basics of interface scrolling
Diffstat (limited to 'hi-ui/src/lib/ActiveChannel.svelte')
-rw-r--r--hi-ui/src/lib/ActiveChannel.svelte31
1 files changed, 18 insertions, 13 deletions
diff --git a/hi-ui/src/lib/ActiveChannel.svelte b/hi-ui/src/lib/ActiveChannel.svelte
index 680a785..84f9119 100644
--- a/hi-ui/src/lib/ActiveChannel.svelte
+++ b/hi-ui/src/lib/ActiveChannel.svelte
@@ -1,28 +1,33 @@
<script>
import { activeChannel, events } from '../store';
+ import Message from './Message.svelte';
- let channel;
- let allMessages = [];
- $: messages = allMessages.filter(
- (ev) => ev.type === 'message' && channel !== null && ev.channel.id === channel.id
+ let container;
+ $: messages = $events.filter(
+ (ev) => (
+ ev.type === 'message'
+ && $activeChannel !== null
+ && ev.channel.id === $activeChannel.id
+ )
);
- activeChannel.subscribe((value) => {
- channel = value;
- });
+ // TODO: eventually, store scroll height/last unread in channel? scroll there?
- events.subscribe((value) => {
- allMessages = value;
- });
+ let scroll = (message) => {
+ message.scrollIntoView();
+ }
</script>
-<div>
+<div class="container" bind:this={container}>
{#each messages as message}
- <div>
- <pre><tt>{message.at} @{message.sender.name}: {message.message.body}</tt></pre>
+ <div use:scroll>
+ <Message {...message} />
</div>
{/each}
</div>
<style>
+ .container {
+ overflow: scroll;
+ }
</style>