diff --git a/src/components/conversation/conversation.vue b/src/components/conversation/conversation.vue index 36ab7e0b4..8a46722ad 100644 --- a/src/components/conversation/conversation.vue +++ b/src/components/conversation/conversation.vue @@ -97,7 +97,7 @@ :expandable="!isExpanded" :focused="isFocused(status.id)" - :highlight="getHighlight()" + :highlight="maybeHighlight" :inline-expanded="collapsable && isExpanded" :show-pinned="pinnedStatusIdsObject && pinnedStatusIdsObject[status.id]" :in-profile="inProfile" @@ -156,8 +156,7 @@ :is-focused-function="isFocused" :get-replies="getReplies" - :highlight="maybeHighlight" - :set-highlight="setHighlight" + :highlight="maybeHighlight === status.id" :toggle-expanded="toggleExpanded" :simple="treeViewIsSimple" @@ -165,8 +164,9 @@ :show-thread-recursively="showThreadRecursively" :total-reply-count="totalReplyCount" :total-reply-depth="totalReplyDepth" - :can-dive="canDive" + + @goto="setHighlight" @dive="diveIntoStatus" @suspendable-state-change="onStatusSuspendStateChange" /> @@ -186,7 +186,7 @@ :expandable="!isExpanded" :focused="isFocused(status.id)" - :highlight="getHighlight()" + :highlight="maybeHighlight === status.id" :inline-expanded="collapsable && isExpanded" :show-pinned="pinnedStatusIdsObject && pinnedStatusIdsObject[status.id]" :in-profile="inProfile" diff --git a/src/components/status_body/status_body.js b/src/components/status_body/status_body.js index 5188f49bd..2da6da555 100644 --- a/src/components/status_body/status_body.js +++ b/src/components/status_body/status_body.js @@ -38,6 +38,12 @@ const StatusBody = { type: Boolean, default: false, }, + inConversation: { + // Is status rendered within open conversation? + // Used to automatically expand subjects (if collapsed) + type: Boolean, + default: false, + } }, data() { return { @@ -70,7 +76,7 @@ const StatusBody = { // button. If the default is to collapse statuses with subjects, we just treat it like // a status with a subject; otherwise, we just treat it like a tall status. mightHideBecauseSubject() { - return this.hasSubject && this.mergedConfig.collapseMessageWithSubject + return !this.inConversation && this.hasSubject && this.mergedConfig.collapseMessageWithSubject }, mightHideBecauseTall() { if (this.singleLine || this.compact) return false diff --git a/src/components/status_content/status_content.vue b/src/components/status_content/status_content.vue index 973290872..6b46bd768 100644 --- a/src/components/status_content/status_content.vue +++ b/src/components/status_content/status_content.vue @@ -9,6 +9,7 @@ :compact="compact" :single-line="singleLine" :collapse="collapse" + :in-conversation="inConversation" @parse-ready="$emit('parseReady', $event)" >