From 2f9aa913c23b1c6ef9d10239f5b76ba7c215e3e2 Mon Sep 17 00:00:00 2001 From: marlon-erler Date: Wed, 8 Apr 2026 14:07:07 +0000 Subject: [PATCH] improve calendar breakpoints --- dist/index.css | 2 ++ dist/index.js | 8 ++++++-- src/View/ChatPages/messagePage.css | 2 ++ src/View/ChatPages/messagePage.tsx | 8 ++++++-- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/dist/index.css b/dist/index.css index 2a0ff1c8..c9670485 100644 --- a/dist/index.css +++ b/dist/index.css @@ -655,6 +655,8 @@ body[showing-chat] #chat-page-wrapper { gap: var(--gap-between-tiles); height: auto; max-height: unset; +} +#message-page #message-container:not([scroll-hard]) { scroll-behavior: smooth; } .message-bubble { diff --git a/dist/index.js b/dist/index.js index dcde914e..91aa394b 100644 --- a/dist/index.js +++ b/dist/index.js @@ -4147,8 +4147,12 @@ ] } ); - function scrollDown() { + function scrollDown(hard = false) { + if (hard) { + messageContainer.setAttribute("scroll-hard", ""); + } messageContainer.scrollTop = messageContainer.scrollHeight; + messageContainer.removeAttribute("scroll-hard"); } function scrollDownIfApplicable() { const scrollFromBottom = messageContainer.scrollHeight - (messageContainer.scrollTop + messageContainer.offsetHeight); @@ -4158,7 +4162,7 @@ messagePageViewModel.chatMessageViewModels.subscribeSilent( scrollDownIfApplicable ); - setTimeout(() => scrollDown(), 100); + setTimeout(() => scrollDown(true), 100); return /* @__PURE__ */ createElement("div", { id: "message-page" }, /* @__PURE__ */ createElement("div", { class: "pane-wrapper" }, /* @__PURE__ */ createElement("div", { class: "pane" }, /* @__PURE__ */ createElement("div", { class: "toolbar" }, /* @__PURE__ */ createElement("span", { class: "title" }, translations.chatPage.message.messagesHeadline)), /* @__PURE__ */ createElement("div", { class: "content" }, messageContainer, /* @__PURE__ */ createElement("div", { id: "composer" }, /* @__PURE__ */ createElement("div", { class: "content-width-constraint" }, /* @__PURE__ */ createElement("div", { class: "input-width-constraint" }, /* @__PURE__ */ createElement( "input", { diff --git a/src/View/ChatPages/messagePage.css b/src/View/ChatPages/messagePage.css index 34b06c5f..b79822b1 100644 --- a/src/View/ChatPages/messagePage.css +++ b/src/View/ChatPages/messagePage.css @@ -70,7 +70,9 @@ height: auto; max-height: unset; +} +#message-page #message-container:not([scroll-hard]) { scroll-behavior: smooth; } diff --git a/src/View/ChatPages/messagePage.tsx b/src/View/ChatPages/messagePage.tsx index 0b5d5f4f..e28cbc06 100644 --- a/src/View/ChatPages/messagePage.tsx +++ b/src/View/ChatPages/messagePage.tsx @@ -19,8 +19,12 @@ export function MessagePage(messagePageViewModel: MessagePageViewModel) { > ); - function scrollDown() { + function scrollDown(hard: boolean = false) { + if (hard) { + messageContainer.setAttribute("scroll-hard", ""); + } messageContainer.scrollTop = messageContainer.scrollHeight; + messageContainer.removeAttribute("scroll-hard"); } function scrollDownIfApplicable() { const scrollFromBottom = @@ -33,7 +37,7 @@ export function MessagePage(messagePageViewModel: MessagePageViewModel) { messagePageViewModel.chatMessageViewModels.subscribeSilent( scrollDownIfApplicable, ); - setTimeout(() => scrollDown(), 100); + setTimeout(() => scrollDown(true), 100); return (