mentions on same line as replies

This commit is contained in:
Henry Jameson 2021-06-10 14:01:26 +03:00
parent 6bff7cc6ef
commit 0263834faa
2 changed files with 64 additions and 50 deletions

View file

@ -1,4 +1,3 @@
@import '../../_variables.scss'; @import '../../_variables.scss';
$status-margin: 0.75em; $status-margin: 0.75em;
@ -151,6 +150,11 @@ $status-margin: 0.75em;
} }
} }
.glued-label {
display: inline-flex;
white-space: nowrap;
}
.timeago { .timeago {
margin-right: 0.2em; margin-right: 0.2em;
} }
@ -161,8 +165,6 @@ $status-margin: 0.75em;
font-size: 12px; font-size: 12px;
line-height: 160%; line-height: 160%;
max-width: 100%; max-width: 100%;
display: flex;
flex-wrap: wrap;
align-items: stretch; align-items: stretch;
} }
@ -206,6 +208,7 @@ $status-margin: 0.75em;
& .reply-to { & .reply-to {
white-space: nowrap; white-space: nowrap;
position: relative; position: relative;
padding-right: 0.25em;
} }
& .reply-to-text { & .reply-to-text {
@ -215,7 +218,7 @@ $status-margin: 0.75em;
} }
.mentions-line { .mentions-line {
display: inline-block; display: inline;
} }
.replies { .replies {

View file

@ -225,65 +225,76 @@
class="heading-reply-row" class="heading-reply-row"
v-if="isReply || hasMentionsLine" v-if="isReply || hasMentionsLine"
> >
<StatusPopover
v-if="isReply && !isPreview"
:status-id="status.parent_visible && status.in_reply_to_status_id"
class="reply-to-popover"
style="min-width: 0"
:class="{ '-strikethrough': !status.parent_visible }"
>
<button
class="button-unstyled reply-to"
:aria-label="$t('tool_tip.reply')"
@click.prevent="gotoOriginal(status.in_reply_to_status_id)"
>
<FAIcon
class="fa-scale-110 fa-old-padding"
icon="reply"
flip="horizontal"
/>
<span
class="faint-link reply-to-text"
>
{{ $t('status.reply_to') }}
</span>
</button>
</StatusPopover>
<span <span
v-else-if="isReply" class="glued-label"
class="reply-to-no-popover" v-if="isReply"
> >
<span class="reply-to-text">{{ $t('status.reply_to') }}</span> <StatusPopover
v-if="!isPreview"
:status-id="status.parent_visible && status.in_reply_to_status_id"
class="reply-to-popover"
style="min-width: 0"
:class="{ '-strikethrough': !status.parent_visible }"
>
<button
class="button-unstyled reply-to"
:aria-label="$t('tool_tip.reply')"
@click.prevent="gotoOriginal(status.in_reply_to_status_id)"
>
<FAIcon
class="fa-scale-110 fa-old-padding"
icon="reply"
flip="horizontal"
/>
<span
class="faint-link reply-to-text"
>
{{ $t('status.reply_to') }}
</span>
</button>
</StatusPopover>
<span
v-else
class="reply-to-no-popover"
>
<span class="reply-to-text">{{ $t('status.reply_to') }}</span>
</span>
<MentionLink
:content="replyToName"
:url="replyProfileLink"
:user-id="status.in_reply_to_user_id"
:user-screen-name="status.in_reply_to_screen_name"
:first-mention="false"
/>
</span> </span>
<MentionLink <!-- This little wrapper is made for sole purpose of "gluing" -->
:content="replyToName" <!-- "Mentions" label to the first mention -->
:url="replyProfileLink"
:user-id="status.in_reply_to_user_id"
:user-screen-name="status.in_reply_to_screen_name"
:first-mention="false"
/>
<span <span
v-if="hasMentionsLine" v-if="hasMentionsLine"
class="mentions" class="glued-label"
:aria-label="$t('tool_tip.mentions')"
@click.prevent="gotoOriginal(status.in_reply_to_status_id)"
> >
<FAIcon
class="fa-scale-110 fa-old-padding"
icon="at"
/>
<span <span
class="faint-link mentions-text" class="mentions"
:aria-label="$t('tool_tip.mentions')"
@click.prevent="gotoOriginal(status.in_reply_to_status_id)"
> >
{{ $t('status.mentions') }} <span
class="faint-link mentions-text"
>
{{ $t('status.mentions') }}
</span>
</span> </span>
<MentionsLine
v-if="hasMentionsLine"
:mentions="mentionsLine.slice(0, 1)"
class="mentions-line-first"
/>
</span> </span>
<MentionsLine <MentionsLine
v-if="hasMentionsLine" v-if="hasMentionsLine"
:mentions="mentionsLine" :mentions="mentionsLine.slice(1)"
class="mentions-line" class="mentions-line"
/> />
</div> </div>