reimplement genre detail route

This commit is contained in:
jeffvli
2025-11-24 20:19:09 -08:00
parent eba485034a
commit d3132ad570
30 changed files with 443 additions and 190 deletions
@@ -5,6 +5,9 @@ export const ListSearchInput = () => {
const { searchTerm, setSearchTerm } = useSearchTermFilter();
return (
<SearchInput defaultValue={searchTerm} onChange={(e) => setSearchTerm(e.target.value)} />
<SearchInput
defaultValue={searchTerm}
onChange={(e) => setSearchTerm(e.target.value || null)}
/>
);
};
@@ -9,10 +9,14 @@ export const useSearchTermFilter = (defaultValue?: string) => {
defaultValue ? parseAsString.withDefault(defaultValue) : parseAsString,
);
const debouncedSetSearchTerm = useDebouncedCallback(setSearchTerm, 300);
const handleSetSearchTerm = (value: null | string) => {
setSearchTerm(value === '' ? null : value);
};
const debouncedSetSearchTerm = useDebouncedCallback(handleSetSearchTerm, 300);
return {
[FILTER_KEYS.SHARED.SEARCH_TERM]: searchTerm ?? undefined,
[FILTER_KEYS.SHARED.SEARCH_TERM]: searchTerm || undefined,
setSearchTerm: debouncedSetSearchTerm,
};
};