improve calendar breakpoints

This commit is contained in:
marlon-erler
2026-04-08 14:11:46 +00:00
parent ad513fd1bb
commit 2f9aa913c2
4 changed files with 16 additions and 4 deletions
+2
View File
@@ -655,6 +655,8 @@ body[showing-chat] #chat-page-wrapper {
gap: var(--gap-between-tiles); gap: var(--gap-between-tiles);
height: auto; height: auto;
max-height: unset; max-height: unset;
}
#message-page #message-container:not([scroll-hard]) {
scroll-behavior: smooth; scroll-behavior: smooth;
} }
.message-bubble { .message-bubble {
+6 -2
View File
@@ -4147,8 +4147,12 @@
] ]
} }
); );
function scrollDown() { function scrollDown(hard = false) {
if (hard) {
messageContainer.setAttribute("scroll-hard", "");
}
messageContainer.scrollTop = messageContainer.scrollHeight; messageContainer.scrollTop = messageContainer.scrollHeight;
messageContainer.removeAttribute("scroll-hard");
} }
function scrollDownIfApplicable() { function scrollDownIfApplicable() {
const scrollFromBottom = messageContainer.scrollHeight - (messageContainer.scrollTop + messageContainer.offsetHeight); const scrollFromBottom = messageContainer.scrollHeight - (messageContainer.scrollTop + messageContainer.offsetHeight);
@@ -4158,7 +4162,7 @@
messagePageViewModel.chatMessageViewModels.subscribeSilent( messagePageViewModel.chatMessageViewModels.subscribeSilent(
scrollDownIfApplicable 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( 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", "input",
{ {
+2
View File
@@ -70,7 +70,9 @@
height: auto; height: auto;
max-height: unset; max-height: unset;
}
#message-page #message-container:not([scroll-hard]) {
scroll-behavior: smooth; scroll-behavior: smooth;
} }
+6 -2
View File
@@ -19,8 +19,12 @@ export function MessagePage(messagePageViewModel: MessagePageViewModel) {
></div> ></div>
); );
function scrollDown() { function scrollDown(hard: boolean = false) {
if (hard) {
messageContainer.setAttribute("scroll-hard", "");
}
messageContainer.scrollTop = messageContainer.scrollHeight; messageContainer.scrollTop = messageContainer.scrollHeight;
messageContainer.removeAttribute("scroll-hard");
} }
function scrollDownIfApplicable() { function scrollDownIfApplicable() {
const scrollFromBottom = const scrollFromBottom =
@@ -33,7 +37,7 @@ export function MessagePage(messagePageViewModel: MessagePageViewModel) {
messagePageViewModel.chatMessageViewModels.subscribeSilent( messagePageViewModel.chatMessageViewModels.subscribeSilent(
scrollDownIfApplicable, scrollDownIfApplicable,
); );
setTimeout(() => scrollDown(), 100); setTimeout(() => scrollDown(true), 100);
return ( return (
<div id="message-page"> <div id="message-page">