feat: use gpt to create project, readme

This commit is contained in:
2025-09-30 15:39:32 +08:00
parent e23d5e829f
commit 99a97139df
50 changed files with 7476 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
const isBrowser = typeof window !== 'undefined';
export const safeLocalStorage: Storage | undefined = isBrowser ? window.localStorage : undefined;
export function loadFromStorage<T>(key: string, fallback: T): T {
if (!safeLocalStorage) return fallback;
try {
const raw = safeLocalStorage.getItem(key);
if (!raw) return fallback;
return JSON.parse(raw) as T;
} catch (error) {
console.warn(`Failed to load ${key} from localStorage`, error);
return fallback;
}
}
export function saveToStorage<T>(key: string, value: T): void {
if (!safeLocalStorage) return;
try {
safeLocalStorage.setItem(key, JSON.stringify(value));
} catch (error) {
console.warn(`Failed to persist ${key} to localStorage`, error);
}
}