1
0
Fork 0
mirror of https://github.com/paricafe/misskey.git synced 2025-04-15 06:49:39 -05:00

enhance(frontend): インストールしたテーマをデバイス間で同期できるように

This commit is contained in:
syuilo 2025-04-02 10:09:25 +09:00
parent bd8162c2bd
commit a5f9eba974
4 changed files with 30 additions and 0 deletions
locales
packages/frontend/src
pages/settings
utility/autogen

4
locales/index.d.ts vendored
View file

@ -5662,6 +5662,10 @@ export interface Locale extends ILocale {
*
*/
"ifOff": string;
/**
*
*/
"enableSyncThemesBetweenDevices": string;
"_chat": {
/**
*

View file

@ -1416,6 +1416,7 @@ _settings:
showNavbarSubButtons: "ナビゲーションバーに副ボタンを表示"
ifOn: "オンのとき"
ifOff: "オフのとき"
enableSyncThemesBetweenDevices: "デバイス間でインストールしたテーマを同期"
_chat:
showSenderName: "送信者の名前を表示"

View file

@ -181,6 +181,12 @@ SPDX-License-Identifier: AGPL-3.0-only
</template>
</div>
<SearchMarker :keywords="['sync', 'themes', 'devices']">
<MkSwitch :modelValue="themesSyncEnabled" @update:modelValue="changeThemesSyncEnabled">
<template #label><SearchLabel>{{ i18n.ts._settings.enableSyncThemesBetweenDevices }}</SearchLabel></template>
</MkSwitch>
</SearchMarker>
<FormSection>
<div class="_formLinksGrid">
<FormLink to="/settings/theme/manage"><template #icon><i class="ti ti-tool"></i></template>{{ i18n.ts._theme.manage }}<template #suffix>{{ themesCount }}</template></FormLink>
@ -264,6 +270,20 @@ watch(syncDeviceDarkMode, () => {
}
});
const themesSyncEnabled = ref(prefer.isSyncEnabled('themes'));
function changeThemesSyncEnabled(value: boolean) {
if (value) {
prefer.enableSync('themes').then((res) => {
if (res == null) return;
if (res.enabled) themesSyncEnabled.value = true;
});
} else {
prefer.disableSync('themes');
themesSyncEnabled.value = false;
}
}
const headerActions = computed(() => []);
const headerTabs = computed(() => []);

View file

@ -37,6 +37,11 @@ export const searchIndexes: SearchIndexItem[] = [
label: i18n.ts.themeForDarkMode,
keywords: ['dark', 'theme'],
},
{
id: 'jwW5HULqA',
label: i18n.ts._settings.enableSyncThemesBetweenDevices,
keywords: ['sync', 'themes', 'devices'],
},
],
label: i18n.ts.theme,
keywords: ['theme'],