summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorsyuilo <4439005+syuilo@users.noreply.github.com>2025-04-02 10:09:25 +0900
committersyuilo <4439005+syuilo@users.noreply.github.com>2025-04-02 10:09:25 +0900
commita5f9eba974849fa2fcbad4814d509b04c963ef23 (patch)
tree7a6864aff85d8877c9c293e2d647219e99039607 /packages
parentBump version to 2025.4.0-beta.0 (diff)
downloadmisskey-a5f9eba974849fa2fcbad4814d509b04c963ef23.tar.gz
misskey-a5f9eba974849fa2fcbad4814d509b04c963ef23.tar.bz2
misskey-a5f9eba974849fa2fcbad4814d509b04c963ef23.zip
enhance(frontend): インストールしたテーマをデバイス間で同期できるように
Diffstat (limited to 'packages')
-rw-r--r--packages/frontend/src/pages/settings/theme.vue20
-rw-r--r--packages/frontend/src/utility/autogen/settings-search-index.ts5
2 files changed, 25 insertions, 0 deletions
diff --git a/packages/frontend/src/pages/settings/theme.vue b/packages/frontend/src/pages/settings/theme.vue
index d149849afc..adc93ff7a7 100644
--- a/packages/frontend/src/pages/settings/theme.vue
+++ b/packages/frontend/src/pages/settings/theme.vue
@@ -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(() => []);
diff --git a/packages/frontend/src/utility/autogen/settings-search-index.ts b/packages/frontend/src/utility/autogen/settings-search-index.ts
index 08ab0d8811..7f800d2b70 100644
--- a/packages/frontend/src/utility/autogen/settings-search-index.ts
+++ b/packages/frontend/src/utility/autogen/settings-search-index.ts
@@ -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'],