summaryrefslogtreecommitdiff
path: root/packages/frontend/src/pages/settings/preferences.vue
diff options
context:
space:
mode:
authorsyuilo <4439005+syuilo@users.noreply.github.com>2025-03-29 20:56:59 +0900
committersyuilo <4439005+syuilo@users.noreply.github.com>2025-03-29 20:56:59 +0900
commitd9012740a17ea37f45a5354551d29daf0e2f00f0 (patch)
tree2707d990445923191a38d00fa3eb920d253f202d /packages/frontend/src/pages/settings/preferences.vue
parentperf(frontend): reduce stack contexts (diff)
downloadmisskey-d9012740a17ea37f45a5354551d29daf0e2f00f0.tar.gz
misskey-d9012740a17ea37f45a5354551d29daf0e2f00f0.tar.bz2
misskey-d9012740a17ea37f45a5354551d29daf0e2f00f0.zip
enhance(frontend): アイコンのスクロール追従を無効化してパフォーマンス向上できるように
Diffstat (limited to 'packages/frontend/src/pages/settings/preferences.vue')
-rw-r--r--packages/frontend/src/pages/settings/preferences.vue122
1 files changed, 72 insertions, 50 deletions
diff --git a/packages/frontend/src/pages/settings/preferences.vue b/packages/frontend/src/pages/settings/preferences.vue
index 6fe5a50e19..7e7ed21dd5 100644
--- a/packages/frontend/src/pages/settings/preferences.vue
+++ b/packages/frontend/src/pages/settings/preferences.vue
@@ -42,22 +42,6 @@ SPDX-License-Identifier: AGPL-3.0-only
</SearchMarker>
<div class="_gaps_s">
- <SearchMarker :keywords="['blur']">
- <MkPreferenceContainer k="useBlurEffect">
- <MkSwitch v-model="useBlurEffect">
- <template #label><SearchLabel>{{ i18n.ts.useBlurEffect }}</SearchLabel></template>
- </MkSwitch>
- </MkPreferenceContainer>
- </SearchMarker>
-
- <SearchMarker :keywords="['blur', 'modal']">
- <MkPreferenceContainer k="useBlurEffectForModal">
- <MkSwitch v-model="useBlurEffectForModal">
- <template #label><SearchLabel>{{ i18n.ts.useBlurEffectForModal }}</SearchLabel></template>
- </MkSwitch>
- </MkPreferenceContainer>
- </SearchMarker>
-
<SearchMarker :keywords="['avatar', 'icon', 'decoration', 'show']">
<MkPreferenceContainer k="showAvatarDecorations">
<MkSwitch v-model="showAvatarDecorations">
@@ -395,40 +379,6 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkFolder>
</SearchMarker>
- <SearchMarker :keywords="['datasaver']">
- <MkFolder>
- <template #label><SearchLabel>{{ i18n.ts.dataSaver }}</SearchLabel></template>
- <template #icon><i class="ti ti-antenna-bars-3"></i></template>
-
- <div class="_gaps_m">
- <MkInfo>{{ i18n.ts.reloadRequiredToApplySettings }}</MkInfo>
-
- <div class="_buttons">
- <MkButton inline @click="enableAllDataSaver">{{ i18n.ts.enableAll }}</MkButton>
- <MkButton inline @click="disableAllDataSaver">{{ i18n.ts.disableAll }}</MkButton>
- </div>
- <div class="_gaps_m">
- <MkSwitch v-model="dataSaver.media">
- {{ i18n.ts._dataSaver._media.title }}
- <template #caption>{{ i18n.ts._dataSaver._media.description }}</template>
- </MkSwitch>
- <MkSwitch v-model="dataSaver.avatar">
- {{ i18n.ts._dataSaver._avatar.title }}
- <template #caption>{{ i18n.ts._dataSaver._avatar.description }}</template>
- </MkSwitch>
- <MkSwitch v-model="dataSaver.urlPreview">
- {{ i18n.ts._dataSaver._urlPreview.title }}
- <template #caption>{{ i18n.ts._dataSaver._urlPreview.description }}</template>
- </MkSwitch>
- <MkSwitch v-model="dataSaver.code">
- {{ i18n.ts._dataSaver._code.title }}
- <template #caption>{{ i18n.ts._dataSaver._code.description }}</template>
- </MkSwitch>
- </div>
- </div>
- </MkFolder>
- </SearchMarker>
-
<SearchMarker :keywords="['chat', 'messaging']">
<MkFolder>
<template #label><SearchLabel>{{ i18n.ts.chat }}</SearchLabel></template>
@@ -468,6 +418,76 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkFolder>
</SearchMarker>
+ <SearchMarker :keywords="['performance']">
+ <MkFolder>
+ <template #label><SearchLabel>{{ i18n.ts.performance }}</SearchLabel></template>
+ <template #icon><i class="ti ti-battery-vertical-eco"></i></template>
+
+ <div class="_gaps_s">
+ <SearchMarker :keywords="['blur']">
+ <MkPreferenceContainer k="useBlurEffect">
+ <MkSwitch v-model="useBlurEffect">
+ <template #label><SearchLabel>{{ i18n.ts.useBlurEffect }}</SearchLabel></template>
+ <template #caption><SearchLabel>{{ i18n.ts.turnOffToImprovePerformance }}</SearchLabel></template>
+ </MkSwitch>
+ </MkPreferenceContainer>
+ </SearchMarker>
+
+ <SearchMarker :keywords="['blur', 'modal']">
+ <MkPreferenceContainer k="useBlurEffectForModal">
+ <MkSwitch v-model="useBlurEffectForModal">
+ <template #label><SearchLabel>{{ i18n.ts.useBlurEffectForModal }}</SearchLabel></template>
+ <template #caption><SearchLabel>{{ i18n.ts.turnOffToImprovePerformance }}</SearchLabel></template>
+ </MkSwitch>
+ </MkPreferenceContainer>
+ </SearchMarker>
+
+ <SearchMarker :keywords="['sticky']">
+ <MkPreferenceContainer k="useStickyIcons">
+ <MkSwitch v-model="useStickyIcons">
+ <template #label><SearchLabel>{{ i18n.ts._settings.useStickyIcons }}</SearchLabel></template>
+ <template #caption><SearchLabel>{{ i18n.ts.turnOffToImprovePerformance }}</SearchLabel></template>
+ </MkSwitch>
+ </MkPreferenceContainer>
+ </SearchMarker>
+ </div>
+ </MkFolder>
+ </SearchMarker>
+
+ <SearchMarker :keywords="['datasaver']">
+ <MkFolder>
+ <template #label><SearchLabel>{{ i18n.ts.dataSaver }}</SearchLabel></template>
+ <template #icon><i class="ti ti-antenna-bars-3"></i></template>
+
+ <div class="_gaps_m">
+ <MkInfo>{{ i18n.ts.reloadRequiredToApplySettings }}</MkInfo>
+
+ <div class="_buttons">
+ <MkButton inline @click="enableAllDataSaver">{{ i18n.ts.enableAll }}</MkButton>
+ <MkButton inline @click="disableAllDataSaver">{{ i18n.ts.disableAll }}</MkButton>
+ </div>
+ <div class="_gaps_m">
+ <MkSwitch v-model="dataSaver.media">
+ {{ i18n.ts._dataSaver._media.title }}
+ <template #caption>{{ i18n.ts._dataSaver._media.description }}</template>
+ </MkSwitch>
+ <MkSwitch v-model="dataSaver.avatar">
+ {{ i18n.ts._dataSaver._avatar.title }}
+ <template #caption>{{ i18n.ts._dataSaver._avatar.description }}</template>
+ </MkSwitch>
+ <MkSwitch v-model="dataSaver.urlPreview">
+ {{ i18n.ts._dataSaver._urlPreview.title }}
+ <template #caption>{{ i18n.ts._dataSaver._urlPreview.description }}</template>
+ </MkSwitch>
+ <MkSwitch v-model="dataSaver.code">
+ {{ i18n.ts._dataSaver._code.title }}
+ <template #caption>{{ i18n.ts._dataSaver._code.description }}</template>
+ </MkSwitch>
+ </div>
+ </div>
+ </MkFolder>
+ </SearchMarker>
+
<SearchMarker :keywords="['other']">
<MkFolder>
<template #label><SearchLabel>{{ i18n.ts.other }}</SearchLabel></template>
@@ -650,6 +670,7 @@ const useBlurEffect = prefer.model('useBlurEffect');
const defaultFollowWithReplies = prefer.model('defaultFollowWithReplies');
const chatShowSenderName = prefer.model('chat.showSenderName');
const chatSendOnEnter = prefer.model('chat.sendOnEnter');
+const useStickyIcons = prefer.model('useStickyIcons');
watch(lang, () => {
miLocalStorage.setItem('lang', lang.value as string);
@@ -678,6 +699,7 @@ watch([
highlightSensitiveMedia,
enableSeasonalScreenEffect,
chatShowSenderName,
+ useStickyIcons,
], async () => {
await reloadAsk({ reason: i18n.ts.reloadToApplySetting, unison: true });
});