mobile download

This commit is contained in:
Macbook
2026-05-28 14:44:19 +09:00
parent e2816b037f
commit 3503ef33f5
152 changed files with 11021 additions and 687 deletions
@@ -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 });
}