From 07d5b6073ac6e6f811c4a8ac72dc9cd818f51206 Mon Sep 17 00:00:00 2001 From: notfire Date: Wed, 30 Jul 2025 14:46:59 -0400 Subject: [PATCH] add "cohost-like" display mode, based off of https://git.pleasetf.me/PleaseTFMe/theta/commit/1df79a1f128cd55022033514efc6fe494d5cc767 with a minor tweak --- src/components/conversation/conversation.js | 9 ++- src/components/conversation/conversation.vue | 4 +- .../emoji_reactions/emoji_reactions.js | 7 +- .../emoji_reactions/emoji_reactions.vue | 16 ++++- src/components/notification/notification.js | 5 +- src/components/notification/notification.vue | 1 + src/components/popover/popover.vue | 3 +- src/components/quote_card/quote_card.js | 5 +- src/components/quote_card/quote_card.vue | 20 ++++-- .../settings_modal/tabs/general_tab.js | 5 ++ .../settings_modal/tabs/general_tab.vue | 9 +++ src/components/status/status.scss | 68 ++++++++++++++++++- src/components/thread_tree/thread_tree.js | 3 + src/components/thread_tree/thread_tree.vue | 1 + src/i18n/en.json | 3 + src/modules/config.js | 1 + 16 files changed, 139 insertions(+), 21 deletions(-) diff --git a/src/components/conversation/conversation.js b/src/components/conversation/conversation.js index 68b90c72..a03c2351 100644 --- a/src/components/conversation/conversation.js +++ b/src/components/conversation/conversation.js @@ -82,6 +82,9 @@ const conversation = { streamingEnabled () { return this.mergedConfig.useStreamingApi && this.mastoUserSocketStatus === WSConnectionStatus.JOINED }, + timelineStyle () { + return this.$store.getters.mergedConfig.timelineStyle + }, displayStyle () { return this.$store.getters.mergedConfig.conversationDisplay }, @@ -267,11 +270,11 @@ const conversation = { }, replies () { let i = 1 - + return reduce(this.conversation, (result, { id, in_reply_to_status_id }) => { - + const irid = in_reply_to_status_id - + if (irid) { result[irid] = result[irid] || [] result[irid].push({ diff --git a/src/components/conversation/conversation.vue b/src/components/conversation/conversation.vue index 61f1358a..e6cd3235 100644 --- a/src/components/conversation/conversation.vue +++ b/src/components/conversation/conversation.vue @@ -69,6 +69,7 @@ :in-profile="inProfile" :profile-user-id="profileUserId" class="conversation-status status-fadein panel-body" + :class="timelineStyle" :simple-tree="treeViewIsSimple" :toggle-thread-display="toggleThreadDisplay" @@ -173,6 +174,7 @@ :in-profile="inProfile" :profile-user-id="profileUserId" class="conversation-status status-fadein panel-body" + :class="timelineStyle" :toggle-thread-display="toggleThreadDisplay" :thread-display-status="threadDisplayStatus" @@ -243,7 +245,7 @@ padding: var(--status-margin, $status-margin); } - .conversation-status { + .conversation-status.classic { border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: var(--border, $fallback--border); diff --git a/src/components/emoji_reactions/emoji_reactions.js b/src/components/emoji_reactions/emoji_reactions.js index 94aa3734..0fee5e74 100644 --- a/src/components/emoji_reactions/emoji_reactions.js +++ b/src/components/emoji_reactions/emoji_reactions.js @@ -39,6 +39,9 @@ const EmojiReactions = { return acc }, {}) }, + timelineStyle () { + return this.$store.getters.mergedConfig.timelineStyle + }, loggedIn () { return !!this.$store.state.users.currentUser }, @@ -52,7 +55,7 @@ const EmojiReactions = { var toPush = [] finalReacts.forEach((react) => { var rawReact = toRaw(react)["name"] - + if ( // match regex // >1 check is to prevent = just disabling all emoji reacts @@ -63,7 +66,7 @@ const EmojiReactions = { || (rawReact.match(/.*@.*/) ? rawReact.split("@")[0] : rawReact) == item ) { toPush.push(react) - } + } }) toPush.forEach((nice) => { diff --git a/src/components/emoji_reactions/emoji_reactions.vue b/src/components/emoji_reactions/emoji_reactions.vue index c083625f..b54bbd32 100644 --- a/src/components/emoji_reactions/emoji_reactions.vue +++ b/src/components/emoji_reactions/emoji_reactions.vue @@ -1,5 +1,5 @@