fix(web): shelf search debounce merges against live searchParams (no lost sort/group clicks)
This commit is contained in:
@@ -98,13 +98,15 @@ export default function Shelf() {
|
||||
useEffect(() => {
|
||||
if (qRaw.trim() === serverQ) return;
|
||||
const t = setTimeout(() => {
|
||||
const next = new URLSearchParams(sp);
|
||||
if (qRaw.trim()) next.set("q", qRaw.trim());
|
||||
else next.delete("q");
|
||||
setSp(next, { replace: true });
|
||||
setSp((prev) => {
|
||||
const next = new URLSearchParams(prev);
|
||||
if (qRaw.trim()) next.set("q", qRaw.trim());
|
||||
else next.delete("q");
|
||||
return next;
|
||||
}, { replace: true });
|
||||
}, 300);
|
||||
return () => clearTimeout(t);
|
||||
}, [qRaw]); // eslint-disable-line
|
||||
}, [qRaw, serverQ, sp, setSp]);
|
||||
|
||||
const libsQ = useQuery({ queryKey: ["libraries"], queryFn: api.listLibraries });
|
||||
const booksQ = useQuery({ queryKey: ["books", lib, serverQ], queryFn: () => api.listBooks({ library: lib || undefined, q: serverQ }) });
|
||||
|
||||
Reference in New Issue
Block a user