From 275fdc67a06a3975118b575f0dd399a9bc1cefdb Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Thu, 23 Jul 2026 13:32:46 +0300 Subject: [PATCH 1/8] better styles for single-line statusbody --- src/components/status_body/status_body.scss | 17 +++++++++++++++++ src/components/status_body/status_body.vue | 4 ++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/components/status_body/status_body.scss b/src/components/status_body/status_body.scss index f248e8099..46299533a 100644 --- a/src/components/status_body/status_body.scss +++ b/src/components/status_body/status_body.scss @@ -92,6 +92,23 @@ } } + &.-single-line { + .summary-wrapper { + display: inline-block; + margin: 0; + padding: 0; + border: none; + + .summary { + padding: 0; + } + } + + .text-wrapper { + display: inline-flex; + } + } + & .tall-status-hider, & .tall-subject-hider, & .status-unhider, diff --git a/src/components/status_body/status_body.vue b/src/components/status_body/status_body.vue index e8994180a..c662a0aa7 100644 --- a/src/components/status_body/status_body.vue +++ b/src/components/status_body/status_body.vue @@ -1,7 +1,7 @@
Date: Thu, 23 Jul 2026 13:51:41 +0300 Subject: [PATCH 5/8] scrolling --- src/components/chat_message/chat_message.js | 21 ++++++++++++++++++++ src/components/conversation/conversation.vue | 2 +- src/components/status/status.js | 5 ++--- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/components/chat_message/chat_message.js b/src/components/chat_message/chat_message.js index 01bac858e..879d329f8 100644 --- a/src/components/chat_message/chat_message.js +++ b/src/components/chat_message/chat_message.js @@ -153,6 +153,11 @@ const ChatMessage = { menuOpened: false, } }, + watch: { + focused: function (value) { + this.scrollIfFocused(value) + }, + }, methods: { onHover(bool) { this.$emit('hover', { @@ -188,6 +193,22 @@ const ChatMessage = { this.hovered = false this.menuOpened = false }, + scrollIfFocused(focused) { + if (this.$el.getBoundingClientRect == null) return + if (focused) { + const rect = this.$el.getBoundingClientRect() + if (rect.top < 100) { + // Post is above screen, match its top to screen top + window.scrollBy(0, rect.top - 100) + } else if (rect.height >= window.innerHeight - 50) { + // Post we want to see is taller than screen so match its top to screen top + window.scrollBy(0, rect.top - 100) + } else if (rect.bottom > window.innerHeight - 50) { + // Post is below screen, match its bottom to screen bottom + window.scrollBy(0, rect.bottom - window.innerHeight + 50) + } + } + }, }, } diff --git a/src/components/conversation/conversation.vue b/src/components/conversation/conversation.vue index 48b83e10f..5abeda05b 100644 --- a/src/components/conversation/conversation.vue +++ b/src/components/conversation/conversation.vue @@ -11,7 +11,7 @@ >