<template> <div v-if="!hideStatus" :style="hiddenStyle" class="Conversation" :class="{ '-expanded' : isExpanded, 'panel' : isExpanded }" > <div v-if="isExpanded" class="panel-heading conversation-heading" > <span class="title"> {{ $t('timeline.conversation') }} </span> <button v-if="collapsable" class="button-unstyled -link" @click.prevent="toggleExpanded" > {{ $t('timeline.collapse') }} </button> </div> <div v-if="diveMode" class="conversation-undive-box" > <i18n path="status.show_all_conversation" tag="button" class="button-unstyled -link" @click.prevent="undive" > <FAIcon icon="angle-double-left" /> </i18n> </div> <div v-if="diveMode" class="conversation-undive-box" > <i18n path="status.return_to_last_showing" tag="button" class="button-unstyled -link" @click.prevent="diveBack" > <FAIcon icon="chevron-left" /> </i18n> </div> <div v-if="isTreeView"> <thread-tree v-for="status in showingTopLevel" :key="status.id" ref="statusComponent" :depth="0" :status="status" :in-profile="inProfile" :conversation="conversation" :collapsable="collapsable" :is-expanded="isExpanded" :pinned-status-ids-object="pinnedStatusIdsObject" :profile-user-id="profileUserId" :focused="focused" :get-replies="getReplies" :get-highlight="getHighlight" :set-highlight="setHighlight" :toggle-expanded="toggleExpanded" :toggle-thread-display="toggleThreadDisplay" :thread-display-status="threadDisplayStatus" :show-thread-recursively="showThreadRecursively" :total-reply-count="totalReplyCount" :total-reply-depth="totalReplyDepth" :status-content-properties="statusContentProperties" :set-status-content-property="setStatusContentProperty" :toggle-status-content-property="toggleStatusContentProperty" :dive="canDive ? diveIntoStatus : undefined" /> </div> <div v-if="isLinearView"> <status v-for="status in conversation" :key="status.id" ref="statusComponent" :inline-expanded="collapsable && isExpanded" :statusoid="status" :expandable="!isExpanded" :show-pinned="pinnedStatusIdsObject && pinnedStatusIdsObject[status.id]" :focused="focused(status.id)" :in-conversation="isExpanded" :highlight="getHighlight()" :replies="getReplies(status.id)" :in-profile="inProfile" :profile-user-id="profileUserId" class="conversation-status status-fadein panel-body" :toggle-thread-display="toggleThreadDisplay" :thread-display-status="threadDisplayStatus" :show-thread-recursively="showThreadRecursively" :total-reply-count="totalReplyCount" :total-reply-depth="totalReplyDepth" :status-content-properties="statusContentProperties" :set-status-content-property="setStatusContentProperty" :toggle-status-content-property="toggleStatusContentProperty" @goto="setHighlight" @toggleExpanded="toggleExpanded" /> </div> </div> <div v-else :style="hiddenStyle" /> </template> <script src="./conversation.js"></script> <style lang="scss"> @import '../../_variables.scss'; .Conversation { .conversation-undive-box { padding: 1em; } .conversation-undive-box, .conversation-status { border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: var(--border, $fallback--border); border-radius: 0; } &.-expanded { .conversation-status:last-child { border-bottom: none; border-radius: 0 0 $fallback--panelRadius $fallback--panelRadius; border-radius: 0 0 var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius); } } } </style>