blob: db41f0e183aae920e2335e32e0cb331a8c8d4ed3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
import { useState, useEffect } from "react";
const STORAGE_KEY = "hidden_venue_ids";
export function useVenueFilter() {
const [hiddenIds, setHiddenIds] = useState<Set<string>>(() => new Set());
useEffect(() => {
try {
const stored = localStorage.getItem(STORAGE_KEY);
if (stored) setHiddenIds(new Set(JSON.parse(stored) as string[]));
} catch {}
}, []);
function toggle(venueId: string) {
setHiddenIds((prev) => {
const next = new Set(prev);
if (next.has(venueId)) next.delete(venueId);
else next.add(venueId);
try {
localStorage.setItem(STORAGE_KEY, JSON.stringify([...next]));
} catch {}
return next;
});
}
return { hiddenIds, toggle };
}
|