summaryrefslogtreecommitdiff
path: root/hi-ui/src/lib/ActiveChannel.svelte
diff options
context:
space:
mode:
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>