1
1
mirror of https://github.com/kokonect-link/cherrypick synced 2025-01-24 10:43:58 +09:00

enhance(frontend): 사용자 페이지에서 이름, 자기소개, 팔로우 메시지, 추가 정보에 포함된 외부 이모지를 가져올 수 있음

This commit is contained in:
NoriDev 2025-01-03 22:00:19 +09:00
parent 5757c9a38b
commit a1bfa242db
3 changed files with 8 additions and 6 deletions

View File

@ -30,6 +30,7 @@ Misskey의 전체 변경 사항을 확인하려면, [CHANGELOG.md#2024111](CHANG
### Client
- Enhance: 노트 상세 페이지에서 공개 범위를 자세히 표시하도록 개선됨
- Enhance: 사용자 페이지에서 `이름`, `자기소개`, `팔로우 메시지`, `추가 정보`에 포함된 외부 이모지를 가져올 수 있음
- Fix: 노트 상세 페이지에서 역할 아이콘에 문제가 발생할 수 있음
- 중복으로 표시될 수 있음
- 아이콘이 제대로 표시되지 않을 수 있음

View File

@ -4,13 +4,14 @@ SPDX-License-Identifier: AGPL-3.0-only
-->
<template>
<Mfm :text="userName(user)" :author="user" :plain="true" :nowrap="nowrap" :emojiUrls="user.emojis"/>
<Mfm :text="userName(user)" :author="user" :plain="true" :nowrap="nowrap" :emojiUrls="user.emojis" :enableEmojiMenu="!!$i"/>
</template>
<script lang="ts" setup>
import { } from 'vue';
import * as Misskey from 'cherrypick-js';
import { userName } from '@/filters/user.js';
import { $i } from '@/account.js';
const props = withDefaults(defineProps<{
user: Misskey.entities.User;

View File

@ -54,7 +54,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div v-if="user.followedMessage != null" class="followedMessage">
<MkFukidashi class="fukidashi" :tail="narrow ? 'none' : 'left'" negativeMargin shadow>
<div class="messageHeader">{{ i18n.ts.messageToFollower }}</div>
<div><MkSparkle><Mfm :plain="true" :text="user.followedMessage" :author="user"/></MkSparkle></div>
<div><MkSparkle><Mfm :plain="true" :text="user.followedMessage" :author="user" :enableEmojiMenu="!!$i"/></MkSparkle></div>
</MkFukidashi>
</div>
<div v-if="user.roles.length > 0" class="roles">
@ -87,7 +87,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</div>
<div class="description">
<MkOmit>
<Mfm v-if="user.description" :text="user.description" :isNote="false" :author="user"/>
<Mfm v-if="user.description" :text="user.description" :isNote="false" :author="user" :enableEmojiMenu="!!$i"/>
<p v-else class="empty">{{ i18n.ts.noAccountDescription }}</p>
<div v-if="user.description && isForeignLanguage">
<MkButton v-if="!(translating || translation)" class="translateButton" small @click="translate"><i class="ti ti-language-hiragana"></i> {{ i18n.ts.translateProfile }}</MkButton>
@ -97,7 +97,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkLoading v-if="translating" mini/>
<div v-else-if="translation">
<b>{{ i18n.tsx.translatedFrom({ x: translation.sourceLang }) }}:</b><hr style="margin: 10px 0;">
<Mfm :text="translation.text" :isNote="false" :author="user" :nyaize="false"/>
<Mfm :text="translation.text" :isNote="false" :author="user" :nyaize="false" :enableEmojiMenu="!!$i"/>
<div v-if="translation.translator == 'ctav3'" style="margin-top: 10px; padding: 0 0 15px;">
<img v-if="!defaultStore.state.darkMode" src="/client-assets/color-short.svg" alt="" style="float: right;">
<img v-else src="/client-assets/white-short.svg" alt="" style="float: right;"/>
@ -123,10 +123,10 @@ SPDX-License-Identifier: AGPL-3.0-only
<div v-if="user.fields.length > 0" class="fields">
<dl v-for="(field, i) in user.fields" :key="i" class="field">
<dt class="name">
<Mfm :text="field.name" :author="user" :plain="true" :colored="false"/>
<Mfm :text="field.name" :author="user" :plain="true" :colored="false" :enableEmojiMenu="!!$i"/>
</dt>
<dd class="value">
<Mfm :text="field.value" :author="user" :colored="false"/>
<Mfm :text="field.value" :author="user" :colored="false" :enableEmojiMenu="!!$i"/>
<i v-if="user.verifiedLinks.includes(field.value)" v-tooltip:dialog="i18n.ts.verifiedLink" class="ti ti-circle-check" :class="$style.verifiedLink"></i>
</dd>
</dl>