aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTusooa Zhu <tusooa@kazv.moe>2021-09-05 11:16:48 -0400
committerTusooa Zhu <tusooa@kazv.moe>2022-03-07 19:19:31 -0500
commit244174a32b94c1373847f0ea20bb6127de5ef222 (patch)
treecfd1ca3b2c99442ee00d0990df6af0ceda7bc093 /src
parent22bdcda9c0a9869f8a09507bb60215b8a5af709a (diff)
Improve "show full conversation" interaction
Now we only show that button when there are other statuses out of sight (other toplevel statuses exist outside of the current thread tree).
Diffstat (limited to 'src')
-rw-r--r--src/components/conversation/conversation.js8
-rw-r--r--src/components/conversation/conversation.vue12
2 files changed, 17 insertions, 3 deletions
diff --git a/src/components/conversation/conversation.js b/src/components/conversation/conversation.js
index 4c429161..423930af 100644
--- a/src/components/conversation/conversation.js
+++ b/src/components/conversation/conversation.js
@@ -224,6 +224,9 @@ const conversation = {
debug('toplevel =', topLevel)
return topLevel
},
+ otherTopLevelCount () {
+ return this.topLevel.length - 1
+ },
showingTopLevel () {
if (this.canDive && this.diveRoot) {
return [this.statusMap[this.diveRoot]]
@@ -242,6 +245,11 @@ const conversation = {
diveMode () {
return this.canDive && !!this.diveRoot
},
+ shouldShowAllConversationButton () {
+ // The "show all conversation" button tells the user that there exist
+ // other toplevel statuses, so do not show it if there is only a single root
+ return this.diveMode && this.topLevel.length > 1
+ },
replies () {
let i = 1
// eslint-disable-next-line camelcase
diff --git a/src/components/conversation/conversation.vue b/src/components/conversation/conversation.vue
index 6c8c6ef0..f0eb88c1 100644
--- a/src/components/conversation/conversation.vue
+++ b/src/components/conversation/conversation.vue
@@ -20,16 +20,22 @@
</div>
<div class="conversation-body panel-body">
<div
- v-if="diveMode"
+ v-if="shouldShowAllConversationButton"
class="conversation-dive-to-top-level-box"
>
<i18n
- path="status.show_all_conversation"
+ path="status.show_all_conversation_with_icon"
tag="button"
class="button-unstyled -link"
@click.prevent="diveToTopLevel"
>
- <FAIcon icon="angle-double-left" />
+ <FAIcon
+ place="icon"
+ icon="angle-double-left"
+ />
+ <span place="text">
+ {{ $tc('status.show_all_conversation', otherTopLevelCount, { numStatus: otherTopLevelCount }) }}
+ </span>
</i18n>
</div>
<div