commit: 0db5a5a581aa6560637dd85886dfd9d7934f40fa
parent ba858a894c4a1ff1a25c1d72759afccb5ed34f0f
Author: Tusooa Zhu <tusooa@kazv.moe>
Date: Thu, 9 Sep 2021 00:03:10 -0400
Fix controlled status display toggles
Diffstat:
3 files changed, 17 insertions(+), 13 deletions(-)
diff --git a/src/components/status_body/status_body.js b/src/components/status_body/status_body.js
@@ -26,14 +26,16 @@ const StatusContent = {
'focused',
'noHeading',
'fullContent',
- 'singleLine'
+ 'singleLine',
+ 'showingTall',
+ 'expandingSubject',
+ 'showingLongSubject',
+ 'toggleShowingTall',
+ 'toggleExpandingSubject',
+ 'toggleShowingLongSubject'
],
data () {
return {
- showingTall: this.fullContent || (this.inConversation && this.focused),
- showingLongSubject: false,
- // not as computed because it sets the initial state which will be changed later
- expandingSubject: !this.$store.getters.mergedConfig.collapseMessageWithSubject,
postLength: this.status.text.length,
parseReadyDone: false
}
@@ -115,9 +117,9 @@ const StatusContent = {
},
toggleShowMore () {
if (this.mightHideBecauseTall) {
- this.showingTall = !this.showingTall
+ this.toggleShowingTall()
} else if (this.mightHideBecauseSubject) {
- this.expandingSubject = !this.expandingSubject
+ this.toggleExpandingSubject()
}
},
generateTagLink (tag) {
diff --git a/src/components/status_content/status_content.js b/src/components/status_content/status_content.js
@@ -116,12 +116,8 @@ const StatusContent = {
toggleExpandingSubject () {
controlledOrUncontrolledToggle(this, 'expandingSubject')
},
- toggleShowMore () {
- if (this.mightHideBecauseTall) {
- this.toggleShowingTall()
- } else if (this.mightHideBecauseSubject) {
- this.toggleExpandingSubject()
- }
+ toggleShowingLongSubject () {
+ controlledOrUncontrolledToggle(this, 'showingLongSubject')
},
setMedia () {
const attachments = this.attachmentSize === 'hide' ? this.status.attachments : this.galleryAttachments
diff --git a/src/components/status_content/status_content.vue b/src/components/status_content/status_content.vue
@@ -8,6 +8,12 @@
:status="status"
:compact="compact"
:single-line="singleLine"
+ :showing-tall="showingTall"
+ :expanding-subject="expandingSubject"
+ :showing-long-subject="showingLongSubject"
+ :toggle-showing-tall="toggleShowingTall"
+ :toggle-expanding-subject="toggleExpandingSubject"
+ :toggle-showing-long-subject="toggleShowingLongSubject"
@parseReady="$emit('parseReady', $event)"
>
<div v-if="status.poll && status.poll.options && !compact">