Base autoscroll telegram chat (#960)

Signed-off-by: Denis Bykhov <80476319+BykhovDenis@users.noreply.github.com>
This commit is contained in:
Denis Bykhov 2022-02-08 15:04:30 +06:00 committed by GitHub
parent b4e25dc1a0
commit b0676195f2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 2 deletions

View File

@ -14,13 +14,27 @@
-->
<script lang="ts">
import { afterUpdate } from "svelte"
export let vertical: boolean = false
export let stretch: boolean = false
export let bothScroll: boolean = false
export let noShift: boolean = false
export let autoscrollable: boolean = false
let div: HTMLElement
let autoscroll: boolean = true
afterUpdate(async () => {
if (autoscrollable && autoscroll) div.scrollTo(0, div.scrollHeight)
})
function setAutoscroll () {
autoscroll = div.scrollTop > div.scrollHeight - div.clientHeight - 50
}
</script>
<div class="scroll" class:vertical class:bothScroll class:noShift>
<div class="scroll" bind:this={div} class:vertical class:bothScroll class:noShift on:scroll={setAutoscroll}>
<div class="box" class:stretch>
<slot/>
</div>

View File

@ -211,7 +211,7 @@
/>
</div>
<div class="h-full right-content">
<ScrollBox vertical stretch>
<ScrollBox vertical stretch autoscrollable>
{#if messages && accounts}
<Messages messages={convertMessages(messages, accounts)} {selectable} bind:selected />
{/if}