improve message page layout

This commit is contained in:
marlon-erler
2026-04-14 19:29:49 +00:00
parent 35fa577267
commit e5c15a9aac
6 changed files with 54 additions and 37 deletions
+13 -7
View File
@@ -589,12 +589,15 @@ body[showing-chat] #chat-page-wrapper {
#chat-page #main #message-page .content { #chat-page #main #message-page .content {
padding: 0px; padding: 0px;
overflow: hidden; overflow: hidden;
display: grid; display: flex;
--composer-height: var(--control-height); position: relative;
grid-template-rows: 1fr calc(var(--composer-height) + var(--gap-between-tiles)) var(--safe-area-bottom);
} }
#chat-page #main #message-page .content:has(.reply-preview-wrapper .reply-preview) { #chat-page #main #message-page .content #message-container {
--composer-height: calc( 2 * var(--control-height) + var(--gap-between-tiles) ); --message-container-padding: var(--control-height);
padding-bottom: calc(var(--message-container-padding) + var(--content-padding)) !important;
}
#chat-page #main #message-page .content:has(.reply-preview-wrapper .reply-preview) #message-container {
--message-container-padding: calc(2 * var(--control-height) + var(--gap-between-tiles));
} }
#message-page #message-container { #message-page #message-container {
overflow: auto; overflow: auto;
@@ -602,6 +605,10 @@ body[showing-chat] #chat-page-wrapper {
#message-page #composer { #message-page #composer {
display: flex; display: flex;
justify-content: center; justify-content: center;
position: absolute;
bottom: 0px;
left: 0px;
right: 0px;
} }
#message-page #composer input { #message-page #composer input {
margin: 0px; margin: 0px;
@@ -630,7 +637,6 @@ body[showing-chat] #chat-page-wrapper {
gap: var(--gap-between-tiles); gap: var(--gap-between-tiles);
} }
#message-page #composer .reply-preview-wrapper .reply-preview > div { #message-page #composer .reply-preview-wrapper .reply-preview > div {
background: var(--surface);
display: flex; display: flex;
align-items: center; align-items: center;
gap: var(--text-gap); gap: var(--text-gap);
@@ -639,7 +645,7 @@ body[showing-chat] #chat-page-wrapper {
} }
@media (max-width: 700px) { @media (max-width: 700px) {
#message-page #composer div { #message-page #composer div {
width: 100%; width: calc(100vw - var(--control-height));
max-width: unset; max-width: unset;
display: flex; display: flex;
} }
+1 -1
View File
@@ -4702,7 +4702,7 @@
// src/View/Components/replyPreview.tsx // src/View/Components/replyPreview.tsx
function ReplyPreview(coreViewModel2, chatMessageViewModel) { function ReplyPreview(coreViewModel2, chatMessageViewModel) {
return /* @__PURE__ */ createElement("div", { class: "reply-preview slide-up" }, /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", { class: "secondary" }, chatMessageViewModel.sender), /* @__PURE__ */ createElement("b", { class: "ellipsis", "subscribe:innerText": chatMessageViewModel.body })), /* @__PURE__ */ createElement( return /* @__PURE__ */ createElement("div", { class: "reply-preview" }, /* @__PURE__ */ createElement("div", { class: "surface" }, /* @__PURE__ */ createElement("span", { class: "secondary" }, chatMessageViewModel.sender), /* @__PURE__ */ createElement("b", { class: "ellipsis", "subscribe:innerText": chatMessageViewModel.body })), /* @__PURE__ */ createElement(
"button", "button",
{ {
class: "standard square", class: "standard square",
+11 -3
View File
@@ -51,6 +51,8 @@ body {
--surface-active: hsla(0, 0%, 5%, 15%); --surface-active: hsla(0, 0%, 5%, 15%);
--surface-alt: hsla(0, 0%, 0%, 2%); --surface-alt: hsla(0, 0%, 0%, 2%);
--blur: 70px;
--border: hsla(0, 0%, 0%, 10%); --border: hsla(0, 0%, 0%, 10%);
--surface-border: #8d8d8d; --surface-border: #8d8d8d;
@@ -346,9 +348,15 @@ select {
/* backdrop-filter */ /* backdrop-filter */
header, header,
menu, menu,
.modal>div { .modal>div,
backdrop-filter: blur(70px); button,
-webkit-backdrop-filter: blur(70px); input,
textarea,
select,
.surface,
.surface-alt {
backdrop-filter: blur(var(--blur));
-webkit-backdrop-filter: blur(var(--blur));
} }
/* border, outline, etc */ /* border, outline, etc */
+24 -21
View File
@@ -2,20 +2,18 @@
#chat-page #main #message-page .content { #chat-page #main #message-page .content {
padding: 0px; padding: 0px;
overflow: hidden; overflow: hidden;
display: grid; display: flex;
--composer-height: var(--control-height);
grid-template-rows: position: relative;
1fr calc(var(--composer-height) + var(--gap-between-tiles))
var(--safe-area-bottom);
} }
#chat-page #chat-page #main #message-page .content #message-container {
#main --message-container-padding: var(--control-height);
#message-page padding-bottom: calc(var(--message-container-padding) + var(--content-padding)) !important;
.content:has(.reply-preview-wrapper .reply-preview) { }
--composer-height: calc(
2 * var(--control-height) + var(--gap-between-tiles) #chat-page #main #message-page .content:has(.reply-preview-wrapper .reply-preview) #message-container {
); --message-container-padding: calc(2 * var(--control-height) + var(--gap-between-tiles));
} }
#message-page #message-container { #message-page #message-container {
@@ -26,6 +24,11 @@
#message-page #composer { #message-page #composer {
display: flex; display: flex;
justify-content: center; justify-content: center;
position: absolute;
bottom: 0px;
left: 0px;
right: 0px;
} }
#message-page #composer input { #message-page #composer input {
@@ -59,9 +62,7 @@
gap: var(--gap-between-tiles); gap: var(--gap-between-tiles);
} }
#message-page #composer .reply-preview-wrapper .reply-preview > div { #message-page #composer .reply-preview-wrapper .reply-preview>div {
background: var(--surface);
display: flex; display: flex;
align-items: center; align-items: center;
gap: var(--text-gap); gap: var(--text-gap);
@@ -73,13 +74,14 @@
@media (max-width: 700px) { @media (max-width: 700px) {
#message-page #composer div { #message-page #composer div {
width: 100%; width: calc(100vw - var(--control-height));
max-width: unset; max-width: unset;
display: flex; display: flex;
} }
} }
@media (min-width: 700px) { @media (min-width: 700px) {
#message-page #composer .content-width-constraint, #message-page #composer .content-width-constraint,
#message-page #composer .input-width-constraint { #message-page #composer .input-width-constraint {
display: flex; display: flex;
@@ -225,7 +227,7 @@
text-align: right; text-align: right;
} }
.message-bubble > .inline-reply { .message-bubble>.inline-reply {
cursor: pointer; cursor: pointer;
display: flex; display: flex;
@@ -244,7 +246,7 @@
border-left: var(--outline-width) solid var(--primary); border-left: var(--outline-width) solid var(--primary);
} }
.message-bubble > .message-reaction-row { .message-bubble>.message-reaction-row {
max-width: var(--max-input-width); max-width: var(--max-input-width);
width: 100%; width: 100%;
@@ -255,11 +257,11 @@
overflow: hidden; overflow: hidden;
} }
.message-bubble > .message-reaction-row:has(button:not([count="0"])) { .message-bubble>.message-reaction-row:has(button:not([count="0"])) {
display: grid !important; display: grid !important;
} }
.message-bubble > .message-reaction-row button { .message-bubble>.message-reaction-row button {
min-height: unset; min-height: unset;
height: 100%; height: 100%;
width: 100%; width: 100%;
@@ -269,7 +271,7 @@
animation: slide-up var(--animation-duration); animation: slide-up var(--animation-duration);
} }
.message-bubble > .message-reaction-row button[count="0"] { .message-bubble>.message-reaction-row button[count="0"] {
display: none; display: none;
} }
@@ -283,6 +285,7 @@
} }
} }
.grid.message-reaction-filter { .grid.message-reaction-filter {
grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(3, 1fr);
} }
+2 -2
View File
@@ -8,8 +8,8 @@ export function ReplyPreview(
chatMessageViewModel: ChatMessageViewModel, chatMessageViewModel: ChatMessageViewModel,
) { ) {
return ( return (
<div class="reply-preview slide-up"> <div class="reply-preview">
<div> <div class="surface">
<span class="secondary">{chatMessageViewModel.sender}</span> <span class="secondary">{chatMessageViewModel.sender}</span>
<b class="ellipsis" subscribe:innerText={chatMessageViewModel.body}></b> <b class="ellipsis" subscribe:innerText={chatMessageViewModel.body}></b>
</div> </div>
+1 -1
View File
@@ -8,7 +8,7 @@ import FileTransferModel from "../../Model/Global/fileTransferModel";
import { v4 } from "uuid"; import { v4 } from "uuid";
export default class CoreViewModel { export default class CoreViewModel {
readonly BUILD = "Build 26.04.14.F"; readonly BUILD = "Build 26.04.14.G";
translations: Translations; translations: Translations;