mobile download
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { useCallback } from 'react';
|
||||
import { getUiPreferences, patchUiPreferences } from '../../utils/uiPreferencesDb';
|
||||
|
||||
function clamp(value: number, min: number, max: number): number {
|
||||
return Math.min(max, Math.max(min, value));
|
||||
@@ -49,9 +50,9 @@ export function usePanelResize(
|
||||
|
||||
export function readStoredSize(key: string, fallback: number): number {
|
||||
try {
|
||||
const raw = localStorage.getItem(key);
|
||||
if (!raw) return fallback;
|
||||
const n = Number(raw);
|
||||
const raw = getUiPreferences().panels?.[key];
|
||||
if (raw == null) return fallback;
|
||||
const n = typeof raw === 'number' ? raw : Number(raw);
|
||||
return Number.isFinite(n) ? n : fallback;
|
||||
} catch {
|
||||
return fallback;
|
||||
@@ -59,22 +60,20 @@ export function readStoredSize(key: string, fallback: number): number {
|
||||
}
|
||||
|
||||
export function storeSize(key: string, value: number): void {
|
||||
try {
|
||||
localStorage.setItem(key, String(Math.round(value)));
|
||||
} catch { /* ignore */ }
|
||||
const panels = { ...getUiPreferences().panels, [key]: Math.round(value) };
|
||||
patchUiPreferences({ panels });
|
||||
}
|
||||
|
||||
export function readStoredBool(key: string, fallback: boolean): boolean {
|
||||
try {
|
||||
const raw = localStorage.getItem(key);
|
||||
if (raw === '1' || raw === 'true') return true;
|
||||
if (raw === '0' || raw === 'false') return false;
|
||||
const raw = getUiPreferences().panels?.[key];
|
||||
if (raw === true || raw === '1' || raw === 'true') return true;
|
||||
if (raw === false || raw === '0' || raw === 'false') return false;
|
||||
} catch { /* ignore */ }
|
||||
return fallback;
|
||||
}
|
||||
|
||||
export function storeBool(key: string, value: boolean): void {
|
||||
try {
|
||||
localStorage.setItem(key, value ? '1' : '0');
|
||||
} catch { /* ignore */ }
|
||||
const panels = { ...getUiPreferences().panels, [key]: value };
|
||||
patchUiPreferences({ panels });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user