implement fixes for review

This commit is contained in:
Kavin
2026-03-27 20:06:35 +05:30
parent 75201a8083
commit 1e9c5dff5d
10 changed files with 63 additions and 49 deletions

View File

@@ -32,12 +32,19 @@ function createPreferenceRefForValue(key, valueForTypeInference) {
}
export function usePreferenceString(key, defaultVal) {
return getOrCreatePreferenceRef(key, () =>
const preferenceRef = getOrCreatePreferenceRef(key, () =>
useLocalStorage(key, defaultVal ?? null, {
serializer: StorageSerializers.any,
writeDefaults: false,
}),
);
const queryValue = getQueryPreference(key);
if (queryValue !== null && preferenceRef.value !== queryValue) {
preferenceRef.value = queryValue;
}
return preferenceRef;
}
export function usePreferenceBoolean(key, defaultVal = false) {
@@ -104,14 +111,20 @@ export function getPreferenceBoolean(key, defaultVal) {
}
export function getPreferenceString(key, defaultVal) {
const queryValue = getQueryPreference(key);
if (queryValue !== null) return queryValue;
if (testLocalStorage()) {
const value = usePreferenceString(key, defaultVal).value;
const preferenceRef = usePreferenceString(key, defaultVal);
const queryValue = getQueryPreference(key);
if (queryValue !== null && preferenceRef.value !== queryValue) {
preferenceRef.value = queryValue;
}
const value = preferenceRef.value;
return value ?? defaultVal;
}
const queryValue = getQueryPreference(key);
if (queryValue !== null) return queryValue;
return defaultVal;
}
@@ -133,7 +146,13 @@ export function getPreferenceNumber(key, defaultVal) {
export function getPreferenceJSON(key, defaultVal) {
const queryValue = getQueryPreference(key);
if (queryValue !== null) return JSON.parse(queryValue);
if (queryValue !== null) {
try {
return JSON.parse(queryValue);
} catch {
return defaultVal;
}
}
if (testLocalStorage()) {
const value = usePreferenceJSON(key, defaultVal).value;