summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsyuilo <4439005+syuilo@users.noreply.github.com>2025-03-09 17:14:48 +0900
committersyuilo <4439005+syuilo@users.noreply.github.com>2025-03-09 17:14:48 +0900
commitc9c04d83919916ca7ba50399538540a08dd353e9 (patch)
treed68fbd376e16f18362fb2eb32c87446b1550a431
parentrefactor(frontend): relocate plugin consts (diff)
downloadmisskey-c9c04d83919916ca7ba50399538540a08dd353e9.tar.gz
misskey-c9c04d83919916ca7ba50399538540a08dd353e9.tar.bz2
misskey-c9c04d83919916ca7ba50399538540a08dd353e9.zip
enhance(frontend): migrate overridedDeviceKind to preference
-rw-r--r--packages/frontend/src/boot/common.ts2
-rw-r--r--packages/frontend/src/boot/main-boot.ts1
-rw-r--r--packages/frontend/src/pages/settings/preferences.vue3
-rw-r--r--packages/frontend/src/pizzax.ts1
-rw-r--r--packages/frontend/src/preferences/def.ts4
-rw-r--r--packages/frontend/src/store.ts8
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,