summaryrefslogtreecommitdiff
path: root/packages/frontend/src/preferences
diff options
context:
space:
mode:
authorsyuilo <4439005+syuilo@users.noreply.github.com>2025-08-26 13:34:41 +0900
committersyuilo <4439005+syuilo@users.noreply.github.com>2025-08-26 13:34:41 +0900
commitd6a1046361d3d38726f2a86588960c3614f72a9f (patch)
treed0a501710c36b8e9488e6756adc906c08447910b /packages/frontend/src/preferences
parentrefactor and fix (diff)
downloadmisskey-d6a1046361d3d38726f2a86588960c3614f72a9f.tar.gz
misskey-d6a1046361d3d38726f2a86588960c3614f72a9f.tar.bz2
misskey-d6a1046361d3d38726f2a86588960c3614f72a9f.zip
refactor
Diffstat (limited to 'packages/frontend/src/preferences')
-rw-r--r--packages/frontend/src/preferences/def.ts4
-rw-r--r--packages/frontend/src/preferences/manager.ts7
2 files changed, 7 insertions, 4 deletions
diff --git a/packages/frontend/src/preferences/def.ts b/packages/frontend/src/preferences/def.ts
index 7b045687d6..702d9a4acf 100644
--- a/packages/frontend/src/preferences/def.ts
+++ b/packages/frontend/src/preferences/def.ts
@@ -32,6 +32,8 @@ export type SoundStore = {
volume: number;
};
+type OmitStrict<T, K extends keyof T> = T extends any ? Pick<T, Exclude<keyof T, K>> : never;
+
// NOTE: デフォルト値は他の設定の状態に依存してはならない(依存していた場合、ユーザーがその設定項目単体で「初期値にリセット」した場合不具合の原因になる)
export const PREF_DEF = definePreferences({
@@ -385,7 +387,7 @@ export const PREF_DEF = definePreferences({
default: false,
},
plugins: {
- default: [] as Plugin[],
+ default: [] as (OmitStrict<Plugin, 'config'> & { config: Record<string, any> })[],
mergeStrategy: (a, b) => {
const sameIdExists = a.some(x => b.some(y => x.installId === y.installId));
if (sameIdExists) throw new Error();
diff --git a/packages/frontend/src/preferences/manager.ts b/packages/frontend/src/preferences/manager.ts
index 0389cf612a..9157ba05d4 100644
--- a/packages/frontend/src/preferences/manager.ts
+++ b/packages/frontend/src/preferences/manager.ts
@@ -109,10 +109,11 @@ export function definePreferences<T extends Record<string, unknown>>(x: {
}
export function getInitialPrefValue<K extends keyof PREF>(k: K): ValueOf<K> {
- if (typeof PREF_DEF[k].default === 'function') { // factory
- return PREF_DEF[k].default();
+ const _default = PREF_DEF[k as string].default;
+ if (typeof _default === 'function') { // factory
+ return _default();
} else {
- return PREF_DEF[k].default;
+ return _default;
}
}