diff --git a/src/components/StoreWatchPage.js b/src/components/StoreWatchPage.js index b4a3a39..35eaf80 100644 --- a/src/components/StoreWatchPage.js +++ b/src/components/StoreWatchPage.js @@ -14,6 +14,11 @@ const WATCH_TABLE_STATE_KEY = 'storeWatchTableState'; const columnHelper = createColumnHelper(); +const DEFAULT_TABLE_STATE = { + sorting: [{ id: 'distanceKm', desc: false }], + columnFilters: [{ id: 'membership', value: 'false' }] +}; + const ColumnTextFilter = ({ column, placeholder }) => { if (!column.getCanFilter()) { return null; @@ -51,31 +56,23 @@ const ColumnSelectFilter = ({ column, options }) => { function readWatchTableState() { if (typeof window === 'undefined') { - return { - sorting: [], - columnFilters: [{ id: 'isOpen', value: 'true' }] - }; + return DEFAULT_TABLE_STATE; } try { const raw = window.localStorage.getItem(WATCH_TABLE_STATE_KEY); if (!raw) { - return { - sorting: [], - columnFilters: [{ id: 'isOpen', value: 'true' }] - }; + return DEFAULT_TABLE_STATE; } const parsed = JSON.parse(raw); return { - sorting: Array.isArray(parsed.sorting) ? parsed.sorting : [], - columnFilters: Array.isArray(parsed.columnFilters) && parsed.columnFilters.length > 0 - ? parsed.columnFilters - : [{ id: 'isOpen', value: 'true' }] + sorting: Array.isArray(parsed.sorting) && parsed.sorting.length > 0 ? parsed.sorting : DEFAULT_TABLE_STATE.sorting, + columnFilters: + Array.isArray(parsed.columnFilters) && parsed.columnFilters.length > 0 + ? parsed.columnFilters + : DEFAULT_TABLE_STATE.columnFilters }; } catch { - return { - sorting: [], - columnFilters: [{ id: 'isOpen', value: 'true' }] - }; + return DEFAULT_TABLE_STATE; } }