fix: 設定項目をデータセーバーに移動
This commit is contained in:
parent
31dfbf9f9a
commit
7c3732dcff
|
@ -10958,7 +10958,7 @@ export interface Locale extends ILocale {
|
||||||
*/
|
*/
|
||||||
"description": string;
|
"description": string;
|
||||||
};
|
};
|
||||||
"_urlPreview": {
|
"_urlPreviewThumbnail": {
|
||||||
/**
|
/**
|
||||||
* URLプレビューのサムネイルを非表示
|
* URLプレビューのサムネイルを非表示
|
||||||
*/
|
*/
|
||||||
|
@ -10968,6 +10968,16 @@ export interface Locale extends ILocale {
|
||||||
*/
|
*/
|
||||||
"description": string;
|
"description": string;
|
||||||
};
|
};
|
||||||
|
"_disableUrlPreview": {
|
||||||
|
/**
|
||||||
|
* URLプレビューを無効化
|
||||||
|
*/
|
||||||
|
"title": string;
|
||||||
|
/**
|
||||||
|
* URLプレビュー機能を無効化します。サムネイル画像だけと違い、リンク先の情報の読み込み自体を削減できます。
|
||||||
|
*/
|
||||||
|
"description": string;
|
||||||
|
};
|
||||||
"_code": {
|
"_code": {
|
||||||
/**
|
/**
|
||||||
* コードハイライトを非表示
|
* コードハイライトを非表示
|
||||||
|
|
|
@ -2911,9 +2911,12 @@ _dataSaver:
|
||||||
_avatar:
|
_avatar:
|
||||||
title: "アイコン画像のアニメーションを無効化"
|
title: "アイコン画像のアニメーションを無効化"
|
||||||
description: "アイコン画像のアニメーションが停止します。アニメーション画像は通常の画像よりファイルサイズが大きいことがあるので、データ通信量をさらに削減できます。"
|
description: "アイコン画像のアニメーションが停止します。アニメーション画像は通常の画像よりファイルサイズが大きいことがあるので、データ通信量をさらに削減できます。"
|
||||||
_urlPreview:
|
_urlPreviewThumbnail:
|
||||||
title: "URLプレビューのサムネイルを非表示"
|
title: "URLプレビューのサムネイルを非表示"
|
||||||
description: "URLプレビューのサムネイル画像が読み込まれなくなります。"
|
description: "URLプレビューのサムネイル画像が読み込まれなくなります。"
|
||||||
|
_disableUrlPreview:
|
||||||
|
title: "URLプレビューを無効化"
|
||||||
|
description: "URLプレビュー機能を無効化します。サムネイル画像だけと違い、リンク先の情報の読み込み自体を削減できます。"
|
||||||
_code:
|
_code:
|
||||||
title: "コードハイライトを非表示"
|
title: "コードハイライトを非表示"
|
||||||
description: "MFMなどでコードハイライト記法が使われている場合、タップするまで読み込まれなくなります。コードハイライトではハイライトする言語ごとにその定義ファイルを読み込む必要がありますが、それらが自動で読み込まれなくなるため、通信量の削減が見込めます。"
|
description: "MFMなどでコードハイライト記法が使われている場合、タップするまで読み込まれなくなります。コードハイライトではハイライトする言語ごとにその定義ファイルを読み込む必要がありますが、それらが自動で読み込まれなくなるため、通信量の削減が見込めます。"
|
||||||
|
|
|
@ -45,7 +45,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
</template>
|
</template>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<component :is="self ? 'MkA' : 'a'" :class="[$style.link, { [$style.compact]: compact }]" :[attr]="maybeRelativeUrl" rel="nofollow noopener" :target="target" :title="url">
|
<component :is="self ? 'MkA' : 'a'" :class="[$style.link, { [$style.compact]: compact }]" :[attr]="maybeRelativeUrl" rel="nofollow noopener" :target="target" :title="url">
|
||||||
<div v-if="thumbnail && !sensitive" :class="$style.thumbnail" :style="prefer.s.dataSaver.urlPreview ? '' : { backgroundImage: `url('${thumbnail}')` }">
|
<div v-if="thumbnail && !sensitive" :class="$style.thumbnail" :style="prefer.s.dataSaver.urlPreviewThumbnail ? '' : { backgroundImage: `url('${thumbnail}')` }">
|
||||||
</div>
|
</div>
|
||||||
<article :class="$style.body">
|
<article :class="$style.body">
|
||||||
<header :class="$style.header">
|
<header :class="$style.header">
|
||||||
|
|
|
@ -602,17 +602,6 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
</MkPreferenceContainer>
|
</MkPreferenceContainer>
|
||||||
</SearchMarker>
|
</SearchMarker>
|
||||||
|
|
||||||
<template v-if="instance.enableUrlPreview">
|
|
||||||
<SearchMarker :keywords="['url', 'preview']">
|
|
||||||
<MkPreferenceContainer k="showUrlPreview">
|
|
||||||
<MkSwitch v-model="showUrlPreview">
|
|
||||||
<template #label><SearchLabel>{{ i18n.ts._settings.showUrlPreview }}</SearchLabel></template>
|
|
||||||
<template #caption><SearchKeyword>{{ i18n.ts.turnOffToImprovePerformance }}</SearchKeyword></template>
|
|
||||||
</MkSwitch>
|
|
||||||
</MkPreferenceContainer>
|
|
||||||
</SearchMarker>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<MkInfo>
|
<MkInfo>
|
||||||
<div class="_gaps_s">
|
<div class="_gaps_s">
|
||||||
<div>{{ i18n.ts._clientPerformanceIssueTip.title }}</div>
|
<div>{{ i18n.ts._clientPerformanceIssueTip.title }}</div>
|
||||||
|
@ -655,9 +644,13 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
{{ i18n.ts._dataSaver._avatar.title }}
|
{{ i18n.ts._dataSaver._avatar.title }}
|
||||||
<template #caption>{{ i18n.ts._dataSaver._avatar.description }}</template>
|
<template #caption>{{ i18n.ts._dataSaver._avatar.description }}</template>
|
||||||
</MkSwitch>
|
</MkSwitch>
|
||||||
<MkSwitch v-model="dataSaver.urlPreview">
|
<MkSwitch v-model="dataSaver.disableUrlPreview" :disabled="!instance.enableUrlPreview">
|
||||||
{{ i18n.ts._dataSaver._urlPreview.title }}
|
{{ i18n.ts._dataSaver._disableUrlPreview.title }}
|
||||||
<template #caption>{{ i18n.ts._dataSaver._urlPreview.description }}</template>
|
<template #caption>{{ i18n.ts._dataSaver._disableUrlPreview.description }}</template>
|
||||||
|
</MkSwitch>
|
||||||
|
<MkSwitch v-model="dataSaver.urlPreviewThumbnail" :disabled="!instance.enableUrlPreview || dataSaver.disableUrlPreview">
|
||||||
|
{{ i18n.ts._dataSaver._urlPreviewThumbnail.title }}
|
||||||
|
<template #caption>{{ i18n.ts._dataSaver._urlPreviewThumbnail.description }}</template>
|
||||||
</MkSwitch>
|
</MkSwitch>
|
||||||
<MkSwitch v-model="dataSaver.code">
|
<MkSwitch v-model="dataSaver.code">
|
||||||
{{ i18n.ts._dataSaver._code.title }}
|
{{ i18n.ts._dataSaver._code.title }}
|
||||||
|
@ -856,7 +849,6 @@ const chatShowSenderName = prefer.model('chat.showSenderName');
|
||||||
const chatSendOnEnter = prefer.model('chat.sendOnEnter');
|
const chatSendOnEnter = prefer.model('chat.sendOnEnter');
|
||||||
const useStickyIcons = prefer.model('useStickyIcons');
|
const useStickyIcons = prefer.model('useStickyIcons');
|
||||||
const enableHighQualityImagePlaceholders = prefer.model('enableHighQualityImagePlaceholders');
|
const enableHighQualityImagePlaceholders = prefer.model('enableHighQualityImagePlaceholders');
|
||||||
const showUrlPreview = prefer.model('showUrlPreview');
|
|
||||||
const reduceAnimation = prefer.model('animation', v => !v, v => !v);
|
const reduceAnimation = prefer.model('animation', v => !v, v => !v);
|
||||||
const animatedMfm = prefer.model('animatedMfm');
|
const animatedMfm = prefer.model('animatedMfm');
|
||||||
const disableShowingAnimatedImages = prefer.model('disableShowingAnimatedImages');
|
const disableShowingAnimatedImages = prefer.model('disableShowingAnimatedImages');
|
||||||
|
|
|
@ -290,9 +290,10 @@ export const PREF_DEF = {
|
||||||
default: {
|
default: {
|
||||||
media: false,
|
media: false,
|
||||||
avatar: false,
|
avatar: false,
|
||||||
urlPreview: false,
|
urlPreviewThumbnail: false,
|
||||||
|
disableUrlPreview: false,
|
||||||
code: false,
|
code: false,
|
||||||
} as Record<string, boolean>,
|
} satisfies Record<string, boolean>,
|
||||||
},
|
},
|
||||||
hemisphere: {
|
hemisphere: {
|
||||||
default: hemisphere as 'N' | 'S',
|
default: hemisphere as 'N' | 'S',
|
||||||
|
@ -348,9 +349,6 @@ export const PREF_DEF = {
|
||||||
mutingEmojis: {
|
mutingEmojis: {
|
||||||
default: [] as string[],
|
default: [] as string[],
|
||||||
},
|
},
|
||||||
showUrlPreview: {
|
|
||||||
default: true,
|
|
||||||
},
|
|
||||||
|
|
||||||
'sound.masterVolume': {
|
'sound.masterVolume': {
|
||||||
default: 0.3,
|
default: 0.3,
|
||||||
|
|
|
@ -7,7 +7,7 @@ import { hostname } from '@@/js/config.js';
|
||||||
import { instance } from '@/instance.js';
|
import { instance } from '@/instance.js';
|
||||||
import { prefer } from '@/preferences.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 {
|
export function transformPlayerUrl(url: string): string {
|
||||||
const urlObj = new URL(url);
|
const urlObj = new URL(url);
|
||||||
|
|
Loading…
Reference in New Issue