From 78e40e4ce2ca61e3d7ac75d7b1f63cc79ae65d22 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Mon, 7 Sep 2026 18:07:01 +0300 Subject: [PATCH] experimentation --- src/components/conversation/conversation.js | 7 + src/components/conversation/conversation.scss | 27 ++- src/components/conversation/conversation.vue | 179 ++++++++++-------- src/components/status/status.scss | 15 -- .../status_history_modal.vue | 2 +- src/components/thread_tree/thread_tree.vue | 2 +- src/components/timeline/timeline.vue | 9 +- 7 files changed, 124 insertions(+), 117 deletions(-) diff --git a/src/components/conversation/conversation.js b/src/components/conversation/conversation.js index 7f0686491..cef442de2 100644 --- a/src/components/conversation/conversation.js +++ b/src/components/conversation/conversation.js @@ -495,6 +495,13 @@ const conversation = { [id]: nextStatus, } }, + getStatusClasses(status, active) { + return { + '-virtual-active': active, + '-last': status.id === this.conversation[this.conversation.length - 1].id, + '-first': status.id === this.conversation[0].id, + } + }, toggleThreadDisplay(id) { const curStatus = this.threadDisplayStatus[id] const nextStatus = curStatus === 'showing' ? 'hidden' : 'showing' diff --git a/src/components/conversation/conversation.scss b/src/components/conversation/conversation.scss index 99ecb338a..ae06dbfa7 100644 --- a/src/components/conversation/conversation.scss +++ b/src/components/conversation/conversation.scss @@ -6,6 +6,15 @@ backdrop-filter: var(--__panel-backdrop-filter); } + .conversation-status:not(.-last) { + border-bottom: 1px solid var(--border); + } + + .conversation-status:not(.-last) + .conversation-status:not(.-first) { + border-radius: 0; + } + .conversation-dive-to-top-level-box { padding: var(--status-margin); border-bottom: 1px solid var(--border); @@ -49,26 +58,12 @@ padding: var(--status-margin); } - .conversation-status { - border-bottom: 1px solid var(--border); - border-radius: 0; - } - - .thread-ancestor-has-other-replies .conversation-status, - &:last-child:not(.-expanded) .conversation-status, - &.-expanded .conversation-status:last-child, - .thread-ancestor:last-child .conversation-status, - .thread-ancestor:last-child .thread-ancestor-dive-box, - &.-expanded .thread-tree .conversation-status { - border-bottom: none; - } - .thread-ancestors + .thread-tree > .conversation-status { border-top: 1px solid var(--border); } /* expanded conversation in timeline */ - &.status-fadein.-expanded .thread-body { + &.-expanded .thread-body { border-left: 4px solid var(--cRed); border-radius: var(--roundness); border-top-left-radius: 0; @@ -76,7 +71,7 @@ border-bottom: 1px solid var(--border); } - &.-expanded.status-fadein { + &.-expanded:not(.-page) { --___margin: calc(var(--status-margin) / 2); background: var(--background); diff --git a/src/components/conversation/conversation.vue b/src/components/conversation/conversation.vue index 94c4db188..5199f4443 100644 --- a/src/components/conversation/conversation.vue +++ b/src/components/conversation/conversation.vue @@ -2,7 +2,7 @@
-
-
- -
+ +
- - - - + + + + +
-
- -
+ + + -
-
- + + -
-
+ @goto="setFocused" + @toggle-expanded="toggleExpanded" + @suspendable-state-change="onStatusSuspendStateChange" + @height-change="updateVirtualHeight" + /> + + +
diff --git a/src/components/thread_tree/thread_tree.vue b/src/components/thread_tree/thread_tree.vue index be95f8698..d7ae9cd10 100644 --- a/src/components/thread_tree/thread_tree.vue +++ b/src/components/thread_tree/thread_tree.vue @@ -12,7 +12,7 @@ :focused="focused === statusId" :in-profile="inProfile" :profile-user-id="profileUserId" - class="conversation-status conversation-status-treeview status-fadein panel-body" + class="conversation-status conversation-status-treeview panel-body" :simple-tree="simple" :thread-display-status="threadDisplayStatus[statusId]" diff --git a/src/components/timeline/timeline.vue b/src/components/timeline/timeline.vue index 7ee4bcfc5..a0087a68d 100644 --- a/src/components/timeline/timeline.vue +++ b/src/components/timeline/timeline.vue @@ -80,24 +80,21 @@ -