From 7c3732dcff33bd74a90ca62dc57a1d5bae4bb591 Mon Sep 17 00:00:00 2001 From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Mon, 19 May 2025 15:15:02 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A8=AD=E5=AE=9A=E9=A0=85=E7=9B=AE?= =?UTF-8?q?=E3=82=92=E3=83=87=E3=83=BC=E3=82=BF=E3=82=BB=E3=83=BC=E3=83=90?= =?UTF-8?q?=E3=83=BC=E3=81=AB=E7=A7=BB=E5=8B=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- locales/index.d.ts | 12 +++++++++- locales/ja-JP.yml | 5 ++++- .../frontend/src/components/MkUrlPreview.vue | 2 +- .../src/pages/settings/preferences.vue | 22 ++++++------------- packages/frontend/src/preferences/def.ts | 8 +++---- packages/frontend/src/utility/url-preview.ts | 2 +- 6 files changed, 27 insertions(+), 24 deletions(-) diff --git a/locales/index.d.ts b/locales/index.d.ts index 52cb880d29..0ab947fab3 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -10958,7 +10958,7 @@ export interface Locale extends ILocale { */ "description": string; }; - "_urlPreview": { + "_urlPreviewThumbnail": { /** * URLプレビューのサムネイルを非表示 */ @@ -10968,6 +10968,16 @@ export interface Locale extends ILocale { */ "description": string; }; + "_disableUrlPreview": { + /** + * URLプレビューを無効化 + */ + "title": string; + /** + * URLプレビュー機能を無効化します。サムネイル画像だけと違い、リンク先の情報の読み込み自体を削減できます。 + */ + "description": string; + }; "_code": { /** * コードハイライトを非表示 diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index a27c0e5c3a..5462759c9f 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -2911,9 +2911,12 @@ _dataSaver: _avatar: title: "アイコン画像のアニメーションを無効化" description: "アイコン画像のアニメーションが停止します。アニメーション画像は通常の画像よりファイルサイズが大きいことがあるので、データ通信量をさらに削減できます。" - _urlPreview: + _urlPreviewThumbnail: title: "URLプレビューのサムネイルを非表示" description: "URLプレビューのサムネイル画像が読み込まれなくなります。" + _disableUrlPreview: + title: "URLプレビューを無効化" + description: "URLプレビュー機能を無効化します。サムネイル画像だけと違い、リンク先の情報の読み込み自体を削減できます。" _code: title: "コードハイライトを非表示" description: "MFMなどでコードハイライト記法が使われている場合、タップするまで読み込まれなくなります。コードハイライトではハイライトする言語ごとにその定義ファイルを読み込む必要がありますが、それらが自動で読み込まれなくなるため、通信量の削減が見込めます。" diff --git a/packages/frontend/src/components/MkUrlPreview.vue b/packages/frontend/src/components/MkUrlPreview.vue index eacdb6538d..7c0c06398b 100644 --- a/packages/frontend/src/components/MkUrlPreview.vue +++ b/packages/frontend/src/components/MkUrlPreview.vue @@ -45,7 +45,7 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
diff --git a/packages/frontend/src/pages/settings/preferences.vue b/packages/frontend/src/pages/settings/preferences.vue index 68ecb108c0..18dfc2250c 100644 --- a/packages/frontend/src/pages/settings/preferences.vue +++ b/packages/frontend/src/pages/settings/preferences.vue @@ -602,17 +602,6 @@ SPDX-License-Identifier: AGPL-3.0-only - -
{{ i18n.ts._clientPerformanceIssueTip.title }}
@@ -655,9 +644,13 @@ SPDX-License-Identifier: AGPL-3.0-only {{ i18n.ts._dataSaver._avatar.title }} - - {{ i18n.ts._dataSaver._urlPreview.title }} - + + {{ i18n.ts._dataSaver._disableUrlPreview.title }} + + + + {{ i18n.ts._dataSaver._urlPreviewThumbnail.title }} + {{ i18n.ts._dataSaver._code.title }} @@ -856,7 +849,6 @@ const chatShowSenderName = prefer.model('chat.showSenderName'); const chatSendOnEnter = prefer.model('chat.sendOnEnter'); const useStickyIcons = prefer.model('useStickyIcons'); const enableHighQualityImagePlaceholders = prefer.model('enableHighQualityImagePlaceholders'); -const showUrlPreview = prefer.model('showUrlPreview'); const reduceAnimation = prefer.model('animation', v => !v, v => !v); const animatedMfm = prefer.model('animatedMfm'); const disableShowingAnimatedImages = prefer.model('disableShowingAnimatedImages'); diff --git a/packages/frontend/src/preferences/def.ts b/packages/frontend/src/preferences/def.ts index 44c0792dc0..7b0628e937 100644 --- a/packages/frontend/src/preferences/def.ts +++ b/packages/frontend/src/preferences/def.ts @@ -290,9 +290,10 @@ export const PREF_DEF = { default: { media: false, avatar: false, - urlPreview: false, + urlPreviewThumbnail: false, + disableUrlPreview: false, code: false, - } as Record, + } satisfies Record, }, hemisphere: { default: hemisphere as 'N' | 'S', @@ -348,9 +349,6 @@ export const PREF_DEF = { mutingEmojis: { default: [] as string[], }, - showUrlPreview: { - default: true, - }, 'sound.masterVolume': { default: 0.3, diff --git a/packages/frontend/src/utility/url-preview.ts b/packages/frontend/src/utility/url-preview.ts index 7cab6721ee..e7379f4202 100644 --- a/packages/frontend/src/utility/url-preview.ts +++ b/packages/frontend/src/utility/url-preview.ts @@ -7,7 +7,7 @@ import { hostname } from '@@/js/config.js'; import { instance } from '@/instance.js'; import { prefer } from '@/preferences.js'; -export const isEnabledUrlPreview = computed(() => (instance.enableUrlPreview && prefer.r.showUrlPreview.value)); +export const isEnabledUrlPreview = computed(() => (instance.enableUrlPreview && !prefer.r.dataSaver.value.disableUrlPreview)); export function transformPlayerUrl(url: string): string { const urlObj = new URL(url);