copy from MkNoteDetailed to SkNoteDetailed

This commit is contained in:
dakkar 2024-11-22 12:43:31 +00:00
parent 73daf118f3
commit 78cfcf023a

View file

@ -58,7 +58,14 @@ SPDX-License-Identifier: AGPL-3.0-only
<img v-for="role in appearNote.user.badgeRoles" :key="role.id" v-tooltip="role.name" :class="$style.badgeRole" :src="role.iconUrl"/>
</span>
</div>
<div :class="$style.noteHeaderUsername"><MkAcct :user="appearNote.user"/></div>
<div :class="$style.noteHeaderUsernameAndBadgeRoles">
<div :class="$style.noteHeaderUsername">
<MkAcct :user="appearNote.user"/>
</div>
<div v-if="appearNote.user.badgeRoles" :class="$style.noteHeaderBadgeRoles">
<img v-for="(role, i) in appearNote.user.badgeRoles" :key="i" v-tooltip="role.name" :class="$style.noteHeaderBadgeRole" :src="role.iconUrl!"/>
</div>
</div>
</div>
</div>
<div style="display: flex; align-items: flex-end; margin-left: auto;">
@ -244,6 +251,7 @@ import { computed, inject, onMounted, onUnmounted, onUpdated, provide, ref, shal
import * as mfm from '@transfem-org/sfm-js';
import * as Misskey from 'misskey-js';
import { isLink } from '@@/js/is-link.js';
import { host } from '@@/js/config.js';
import SkNoteSub from '@/components/SkNoteSub.vue';
import SkNoteSimple from '@/components/SkNoteSimple.vue';
import MkReactionsViewer from '@/components/MkReactionsViewer.vue';
@ -267,7 +275,6 @@ import { reactionPicker } from '@/scripts/reaction-picker.js';
import { extractUrlFromMfm } from '@/scripts/extract-url-from-mfm.js';
import { $i } from '@/account.js';
import { i18n } from '@/i18n.js';
import { host } from '@@/js/config.js';
import { getNoteClipMenu, getNoteMenu } from '@/scripts/get-note-menu.js';
import { getNoteVersionsMenu } from '@/scripts/get-note-versions-menu.js';
import { useNoteCapture } from '@/scripts/use-note-capture.js';
@ -515,7 +522,7 @@ if (appearNote.value.reactionAcceptance === 'likeOnly') {
}
function renote(visibility: Visibility, localOnly: boolean = false) {
pleaseLogin(undefined, pleaseLoginContext.value);
pleaseLogin({ openOnRemote: pleaseLoginContext.value });
showMovedDialog();
renoting = true;
@ -561,7 +568,7 @@ function renote(visibility: Visibility, localOnly: boolean = false) {
}
function quote() {
pleaseLogin(undefined, pleaseLoginContext.value);
pleaseLogin({ openOnRemote: pleaseLoginContext.value });
showMovedDialog();
if (appearNote.value.channel) {
@ -619,7 +626,7 @@ function quote() {
}
function reply(): void {
pleaseLogin(undefined, pleaseLoginContext.value);
pleaseLogin({ openOnRemote: pleaseLoginContext.value });
showMovedDialog();
os.post({
reply: appearNote.value,
@ -630,7 +637,7 @@ function reply(): void {
}
function react(): void {
pleaseLogin(undefined, pleaseLoginContext.value);
pleaseLogin({ openOnRemote: pleaseLoginContext.value });
showMovedDialog();
if (appearNote.value.reactionAcceptance === 'likeOnly') {
sound.playMisskeySfx('reaction');
@ -667,7 +674,7 @@ function react(): void {
}
function like(): void {
pleaseLogin(undefined, pleaseLoginContext.value);
pleaseLogin({ openOnRemote: pleaseLoginContext.value });
showMovedDialog();
sound.playMisskeySfx('reaction');
misskeyApi('notes/like', {
@ -749,7 +756,7 @@ async function clip(): Promise<void> {
function showRenoteMenu(): void {
if (!isMyRenote) return;
pleaseLogin(undefined, pleaseLoginContext.value);
pleaseLogin({ openOnRemote: pleaseLoginContext.value });
os.popupMenu([{
text: i18n.ts.unrenote,
icon: 'ti ti-trash',
@ -1018,8 +1025,13 @@ onUnmounted(() => {
text-align: right;
}
.noteHeaderUsernameAndBadgeRoles {
display: flex;
}
.noteHeaderUsername {
margin-bottom: 2px;
margin-right: 0.5em;
line-height: 1.3;
word-wrap: anywhere;
text-overflow: ellipsis;
@ -1034,6 +1046,19 @@ onUnmounted(() => {
margin-top: 5px;
}
.noteHeaderBadgeRoles {
margin: 0 .5em 0 0;
}
.noteHeaderBadgeRole {
height: 1.3em;
vertical-align: -20%;
& + .noteHeaderBadgeRole {
margin-left: 0.2em;
}
}
.noteContent {
container-type: inline-size;
overflow-wrap: break-word;