Add boilerplate files and licenses

This commit is contained in:
2026-07-13 04:39:10 +02:00
parent 69cabda489
commit fac7e80bb7
202 changed files with 23125 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
import { useState } from 'preact/hooks';
function usePersistedState<T>(key: string, defaultValue: T): [T, (value: T) => void] {
const [state, setState] = useState<T>(() => {
try {
const item = localStorage.getItem(key);
return item ? JSON.parse(item) : defaultValue;
} catch (error) {
console.warn(`Error reading localStorage key "${key}":`, error);
return defaultValue;
}
});
const setPersistedState = (value: T) => {
try {
setState(value);
localStorage.setItem(key, JSON.stringify(value));
} catch (error) {
console.warn(`Error writing to localStorage key "${key}":`, error);
setState(value);
}
};
return [state, setPersistedState];
}
export default usePersistedState;