diff --git a/src/components/conversation/conversation.js b/src/components/conversation/conversation.js index 68b90c72..c1e79072 100644 --- a/src/components/conversation/conversation.js +++ b/src/components/conversation/conversation.js @@ -267,11 +267,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({ @@ -414,6 +414,11 @@ const conversation = { }, toggleExpanded () { this.expanded = !this.expanded + this.$nextTick(() => { + if (!this.expanded) { + this.$el.scrollIntoView({ block: 'nearest' }) + } + }) }, getConversationId (statusId) { const status = this.$store.state.statuses.allStatusesObject[statusId] diff --git a/src/components/conversation/conversation.vue b/src/components/conversation/conversation.vue index 61f1358a..934dd7ee 100644 --- a/src/components/conversation/conversation.vue +++ b/src/components/conversation/conversation.vue @@ -278,5 +278,8 @@ &.-expanded.status-fadein { margin: calc(var(--status-margin, $status-margin) / 2); } + + /* HACK: this value was picked arbitrarily and this is likely not even the right place */ + scroll-margin-block-start: calc(var(--navbar-height) * 2); }