From d203e1a446898bb867705d4191507f1fa196fa88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=8B=E3=81=A3=E3=81=93=E3=81=8B=E3=82=8A?= <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Thu, 23 Oct 2025 11:04:27 +0900 Subject: [PATCH 1/5] =?UTF-8?q?refactor(frontend):=20=E3=83=95=E3=83=AD?= =?UTF-8?q?=E3=83=B3=E3=83=88=E3=82=A8=E3=83=B3=E3=83=89=E3=81=AE=E5=9E=8B?= =?UTF-8?q?=E3=82=A8=E3=83=A9=E3=83=BC=E8=A7=A3=E6=B6=88=20(#16694)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/frontend-shared/js/emojilist.ts | 11 ++++++++--- .../src/components/MkReactionsViewer.reaction.vue | 6 +++--- packages/frontend/src/components/MkSuperMenu.vue | 4 +++- packages/frontend/src/directives/appear.ts | 3 ++- packages/frontend/src/directives/tooltip.ts | 5 +++-- packages/frontend/src/directives/user-preview.ts | 2 +- packages/frontend/src/type.ts | 8 -------- packages/frontend/src/types/misc.ts | 6 ++++++ 8 files changed, 26 insertions(+), 19 deletions(-) delete mode 100644 packages/frontend/src/type.ts create mode 100644 packages/frontend/src/types/misc.ts diff --git a/packages/frontend-shared/js/emojilist.ts b/packages/frontend-shared/js/emojilist.ts index 09bea06719..20ddd0f7d7 100644 --- a/packages/frontend-shared/js/emojilist.ts +++ b/packages/frontend-shared/js/emojilist.ts @@ -39,13 +39,18 @@ for (let i = 0; i < emojilist.length; i++) { export const emojiCharByCategory = _charGroupByCategory; -export function getUnicodeEmoji(char: string): UnicodeEmojiDef | string { +export function getUnicodeEmojiOrNull(char: string): UnicodeEmojiDef | null { // Colorize it because emojilist.json assumes that return unicodeEmojisMap.get(colorizeEmoji(char)) // カラースタイル絵文字がjsonに無い場合はテキストスタイル絵文字にフォールバックする ?? unicodeEmojisMap.get(char) - // それでも見つからない場合はそのまま返す(絵文字情報がjsonに無い場合、このフォールバックが無いとレンダリングに失敗する) - ?? char; + // それでも見つからない場合はnullを返す + ?? null; +} + +export function getUnicodeEmoji(char: string): UnicodeEmojiDef | string { + // 絵文字が見つからない場合はそのまま返す(絵文字情報がjsonに無い場合、このフォールバックが無いとレンダリングに失敗する) + return getUnicodeEmojiOrNull(char) ?? char; } export function isSupportedEmoji(char: string): boolean { diff --git a/packages/frontend/src/components/MkReactionsViewer.reaction.vue b/packages/frontend/src/components/MkReactionsViewer.reaction.vue index d96f0e2420..7c60288883 100644 --- a/packages/frontend/src/components/MkReactionsViewer.reaction.vue +++ b/packages/frontend/src/components/MkReactionsViewer.reaction.vue @@ -20,7 +20,7 @@ SPDX-License-Identifier: AGPL-3.0-only