summaryrefslogtreecommitdiff
path: root/hi-ui/src/lib/ActiveChannel.svelte
blob: 84f91195f8d3b1998109132f66b639a2273dc160 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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>