add toggle for chart grid layout

This commit is contained in:
Henry Dollman
2024-08-25 18:19:47 -04:00
parent 76cffb16de
commit 7a6fbc8346
8 changed files with 135 additions and 22 deletions

View File

@@ -241,3 +241,22 @@ export function toFixedWithoutTrailingZeros(num: number, digits: number) {
export function toFixedFloat(num: number, digits: number) {
return parseFloat(num.toFixed(digits))
}
/** Get value from local storage */
function getStorageValue(key: string, defaultValue: any) {
const saved = localStorage?.getItem(key)
return saved ? JSON.parse(saved) : defaultValue
}
/** Hook to sync value in local storage */
export const useLocalStorage = (key: string, defaultValue: any) => {
key = `besz-${key}`
const [value, setValue] = useState(() => {
return getStorageValue(key, defaultValue)
})
useEffect(() => {
localStorage?.setItem(key, JSON.stringify(value))
}, [key, value])
return [value, setValue]
}