This commit is contained in:
Henry Jameson 2026-08-04 19:20:51 +03:00
commit ef8a407643
7 changed files with 35 additions and 18 deletions

View file

@ -1,9 +1,9 @@
<template>
<div
v-if="isMessage"
:id="`chatmessage-${message.id}`"
class="chat-message-wrapper"
:class="[classnames, { 'hovered-message-chain': hoveredMessageChain }]"
:id="`chatmessage-${message.id}`"
@mouseover="onHover(true)"
@mouseleave="onHover(false)"
>
@ -40,7 +40,10 @@
</template>
</i18n-t>
</StatusPopover>
<span v-else class="reply-label">
<span
v-else
class="reply-label"
>
{{ $t('status.broken_reply') }}
</span>
</template>
@ -83,7 +86,10 @@
:user="author"
/>
</UserPopover>
<div v-else class="avatar-spacer" />
<div
v-else
class="avatar-spacer"
/>
</div>
<div class="chat-message-inner">
<div class="message-bubble-wrapper">
@ -98,7 +104,6 @@
@mouseenter="hovered = true"
@mouseleave="hovered = false"
>
<StatusActionButtons
v-if="isStatus"
class="chat-message-toolbar"
@ -112,9 +117,9 @@
@toggle-replying="$emit('replyRequested', message)"
/>
<div
v-else
class="chat-message-toolbar"
:class="{ '-visible': hovered || menuOpened }"
v-else
>
<Popover
trigger="click"
@ -221,7 +226,10 @@
v-if="isStatus && repliedTo"
class="reply-indicator"
>
<FAIcon class="icon" icon="reply" />
<FAIcon
class="icon"
icon="reply"
/>
</div>
<div class="end-spacer" />
</div>
@ -232,7 +240,10 @@
v-else
class="chat-message-date-separator"
>
<ChatMessageDate :date="chatItem.date" :show-time="chatItem.isTime" />
<ChatMessageDate
:date="chatItem.date"
:show-time="chatItem.isTime"
/>
</div>
</template>

View file

@ -7,7 +7,7 @@
:previous-item="getPreviousItem(index)"
:hovered-message-chain="chatItem.messageChainId === hoveredMessageChainId"
:focused="chatItem.id === focusedId"
:repliedTo="chatItem.id === repliedId"
:replied-to="chatItem.id === repliedId"
@hover="onMessageHover"
@delete="onMessageDelete"
@reply-requested="onReplyRequested"

View file

@ -24,7 +24,7 @@
v-if="messages[0]?.summary_raw_html"
:html="messages[0].summary_raw_html"
:emoji="messages[0].emojis"
/>
/>
<template v-else>
{{ $t('timeline.conversation') }}
</template>

View file

@ -14,9 +14,9 @@
v-if="conversation[0]?.summary_raw_html"
:html="conversation[0].summary_raw_html"
:emoji="conversation[0].emojis"
/>
/>
<template v-else>
{{ $t('timeline.conversation') }}
{{ $t('timeline.conversation') }}
</template>
</h1>
<button

View file

@ -1,8 +1,8 @@
<template>
<div
v-if="initialized"
ref="form"
class="post-status-form"
v-if="initialized"
>
<form
autocomplete="off"
@ -176,12 +176,12 @@
<input
v-if="mentionsLine"
:value="mentionsLineReadOnly ? mentionsString : newStatus.mentionsLine"
@change="onMentionsLineUpdate"
type="text"
:placeholder="$t('post_status.mentions_line')"
:disabled="mentionsLineReadOnly || (posting && !optimisticPosting)"
size="1"
class="input mentions-input form-post-mentions unstyled"
@change="onMentionsLineUpdate"
>
<EmojiInput
ref="emoji-input"
@ -271,14 +271,14 @@
<PollForm
v-if="pollsAvailable"
ref="pollForm"
:visible="pollFormVisible"
v-model="newStatus.poll"
:visible="pollFormVisible"
/>
<QuoteForm
v-if="quotingAvailable"
:id="newStatus.quote?.id"
ref="quoteForm"
:visible="quoteFormVisible"
:id="newStatus.quote?.id"
:url="newStatus.quote?.url"
@update:url="url => newStatus.quote.url = url"
@update:id="id => newStatus.quote.id = id"

View file

@ -20,9 +20,9 @@
:get-component="getComponent"
:close="() => { /* no-op */ }"
:do-action="doAction"
@emoji-picker-shown="onEmojiPickerShown"
:default-button-style="useDefaultButtons"
:hide-label="hideLabels"
@emoji-picker-shown="onEmojiPickerShown"
/>
<button
v-if="showPin && currentUser"

View file

@ -363,7 +363,10 @@ describe('RichContent', () => {
})
expect(
wrapper.html().replaceAll('\n', '').replaceAll(/<!--.*?-->/g, ''),
wrapper
.html()
.replaceAll('\n', '')
.replaceAll(/<!--.*?-->/g, ''),
).to.eql(compwrap(expected))
})
@ -433,7 +436,10 @@ describe('RichContent', () => {
})
expect(
wrapper.html().replaceAll('\n', '').replaceAll(/<!--.*?-->/g, ''),
wrapper
.html()
.replaceAll('\n', '')
.replaceAll(/<!--.*?-->/g, ''),
).to.eql(compwrap(expected))
})