Fluff: Jump to bottom when editing last message in chat. (up arrow)

This commit is contained in:
Paul
2021-07-06 23:03:29 +01:00
parent 9bbbf5ffc8
commit 8cfbe1ca3f
3 changed files with 9 additions and 1 deletions

View File

@@ -12,7 +12,7 @@ import {
} from "preact/hooks";
import { defer } from "../../../lib/defer";
import { internalEmit } from "../../../lib/eventEmitter";
import { internalEmit, internalSubscribe } from "../../../lib/eventEmitter";
import { SingletonMessageRenderer } from "../../../lib/renderer/Singleton";
import { RenderState, ScrollState } from "../../../lib/renderer/types";
@@ -132,6 +132,12 @@ export function MessageArea({ id }: Props) {
const atTop = (offset = 0) =>
ref.current ? ref.current.scrollTop <= offset : false;
// ? Handle global jump to bottom, e.g. when editing last message in chat.
useEffect(() => {
return internalSubscribe('MessageArea', 'jump_to_bottom',
() => setScrollState({ type: 'ScrollToBottom' }));
}, []);
// ? Handle events from renderer.
useEffect(() => {
SingletonMessageRenderer.addListener("state", setState);