mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-14 20:03:52 +00:00
fix: storage key conflict across stages
This commit is contained in:
committed by
Carlos Valente
parent
efceb930e5
commit
617da68ab5
@@ -4,21 +4,29 @@ import { ColumnDef } from '@tanstack/react-table';
|
||||
import { OntimeEntry } from 'ontime-types';
|
||||
|
||||
import { debounce } from '../../../common/utils/debounce';
|
||||
import { makeStageKey } from '../../../common/utils/localStorage';
|
||||
|
||||
const tableSizesKey = makeStageKey('cuesheet-sizes');
|
||||
const tableHiddenKey = makeStageKey('cuesheet-hidden');
|
||||
const tableOrderKey = makeStageKey('cuesheet-order');
|
||||
|
||||
const saveSizesToStorage = debounce((sizes: Record<string, number>) => {
|
||||
localStorage.setItem('table-sizes', JSON.stringify(sizes));
|
||||
localStorage.setItem(tableSizesKey, JSON.stringify(sizes));
|
||||
}, 500);
|
||||
|
||||
export default function useColumnManager(columns: ColumnDef<OntimeEntry>[]) {
|
||||
const [columnVisibility, setColumnVisibility] = useLocalStorage({ key: 'table-hidden', defaultValue: {} });
|
||||
const [columnVisibility, setColumnVisibility] = useLocalStorage({
|
||||
key: tableHiddenKey,
|
||||
defaultValue: {},
|
||||
});
|
||||
const [columnOrder, saveColumnOrder] = useLocalStorage<string[]>({
|
||||
key: 'table-order',
|
||||
key: tableOrderKey,
|
||||
defaultValue: columns.map((col) => col.id as string),
|
||||
});
|
||||
|
||||
const [columnSizing, setColumnSizingState] = useState(() => {
|
||||
try {
|
||||
const stored = localStorage.getItem('table-sizes');
|
||||
const stored = localStorage.getItem(tableSizesKey);
|
||||
return stored ? JSON.parse(stored) : {};
|
||||
} catch {
|
||||
return {};
|
||||
|
||||
Reference in New Issue
Block a user