diff options
| author | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-03-09 17:14:48 +0900 |
|---|---|---|
| committer | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-03-09 17:14:48 +0900 |
| commit | c9c04d83919916ca7ba50399538540a08dd353e9 (patch) | |
| tree | d68fbd376e16f18362fb2eb32c87446b1550a431 | |
| parent | refactor(frontend): relocate plugin consts (diff) | |
| download | misskey-c9c04d83919916ca7ba50399538540a08dd353e9.tar.gz misskey-c9c04d83919916ca7ba50399538540a08dd353e9.tar.bz2 misskey-c9c04d83919916ca7ba50399538540a08dd353e9.zip | |
enhance(frontend): migrate overridedDeviceKind to preference
| -rw-r--r-- | packages/frontend/src/boot/common.ts | 2 | ||||
| -rw-r--r-- | packages/frontend/src/boot/main-boot.ts | 1 | ||||
| -rw-r--r-- | packages/frontend/src/pages/settings/preferences.vue | 3 | ||||
| -rw-r--r-- | packages/frontend/src/pizzax.ts | 1 | ||||
| -rw-r--r-- | packages/frontend/src/preferences/def.ts | 4 | ||||
| -rw-r--r-- | packages/frontend/src/store.ts | 8 |
6 files changed, 12 insertions, 7 deletions
diff --git a/packages/frontend/src/boot/common.ts b/packages/frontend/src/boot/common.ts index 90d80f02c6..efada79823 100644 --- a/packages/frontend/src/boot/common.ts +++ b/packages/frontend/src/boot/common.ts @@ -202,7 +202,7 @@ export async function common(createVue: () => App<Element>) { if (prefer.s.darkTheme == null && instance.defaultDarkTheme != null) prefer.set('darkTheme', JSON.parse(instance.defaultDarkTheme)); }); - watch(store.reactiveState.overridedDeviceKind, (kind) => { + watch(prefer.r.overridedDeviceKind, (kind) => { updateDeviceKind(kind); }, { immediate: true }); diff --git a/packages/frontend/src/boot/main-boot.ts b/packages/frontend/src/boot/main-boot.ts index cf56ec8640..2dcf8b3de7 100644 --- a/packages/frontend/src/boot/main-boot.ts +++ b/packages/frontend/src/boot/main-boot.ts @@ -154,6 +154,7 @@ export async function mainBoot() { prefer.set('lightTheme', ColdDeviceStorage.get('lightTheme')); prefer.set('darkTheme', ColdDeviceStorage.get('darkTheme')); prefer.set('syncDeviceDarkMode', ColdDeviceStorage.get('syncDeviceDarkMode')); + prefer.set('overridedDeviceKind', store.state.overridedDeviceKind); prefer.set('widgets', store.state.widgets); prefer.set('keepCw', store.state.keepCw); prefer.set('collapseRenotes', store.state.collapseRenotes); diff --git a/packages/frontend/src/pages/settings/preferences.vue b/packages/frontend/src/pages/settings/preferences.vue index 7e079940a5..d9e9e9a9bd 100644 --- a/packages/frontend/src/pages/settings/preferences.vue +++ b/packages/frontend/src/pages/settings/preferences.vue @@ -385,8 +385,7 @@ import MkPreferenceContainer from '@/components/MkPreferenceContainer.vue'; const lang = ref(miLocalStorage.getItem('lang')); const dataSaver = ref(prefer.s.dataSaver); -const overridedDeviceKind = computed(store.makeGetterSetter('overridedDeviceKind')); - +const overridedDeviceKind = prefer.model('overridedDeviceKind'); const keepCw = prefer.model('keepCw'); const serverDisconnectedBehavior = prefer.model('serverDisconnectedBehavior'); const hemisphere = prefer.model('hemisphere'); diff --git a/packages/frontend/src/pizzax.ts b/packages/frontend/src/pizzax.ts index f53f19f342..871e454ff0 100644 --- a/packages/frontend/src/pizzax.ts +++ b/packages/frontend/src/pizzax.ts @@ -237,6 +237,7 @@ export class Storage<T extends StateDef> { * 特定のキーの、簡易的なgetter/setterを作ります * 主にvue上で設定コントロールのmodelとして使う用 */ + // TODO: 廃止 public makeGetterSetter<K extends keyof T, R = T[K]['default']>( key: K, getter?: (v: T[K]['default']) => R, diff --git a/packages/frontend/src/preferences/def.ts b/packages/frontend/src/preferences/def.ts index 089098006b..9ceea6b79b 100644 --- a/packages/frontend/src/preferences/def.ts +++ b/packages/frontend/src/preferences/def.ts @@ -8,6 +8,7 @@ import { hemisphere } from '@@/js/intl-const.js'; import type { Theme } from '@/theme.js'; import type { SoundType } from '@/utility/sound.js'; import type { Plugin } from '@/plugin.js'; +import type { DeviceKind } from '@/utility/device-kind.js'; import { DEFAULT_DEVICE_KIND } from '@/utility/device-kind.js'; /** サウンド設定 */ @@ -45,6 +46,9 @@ export const PREF_DEF = { }[], }, + overridedDeviceKind: { + default: null as DeviceKind | null, + }, themes: { default: [] as Theme[], }, diff --git a/packages/frontend/src/store.ts b/packages/frontend/src/store.ts index 196ec782ff..8f718ebcdf 100644 --- a/packages/frontend/src/store.ts +++ b/packages/frontend/src/store.ts @@ -81,10 +81,6 @@ export const store = markRaw(new Storage('base', { }, }, }, - overridedDeviceKind: { - where: 'device', - default: null as DeviceKind | null, - }, darkMode: { where: 'device', default: false, @@ -153,6 +149,10 @@ export const store = markRaw(new Storage('base', { data: Record<string, any>; }[], }, + overridedDeviceKind: { + where: 'device', + default: null as DeviceKind | null, + }, defaultSideView: { where: 'device', default: false, |