fix: make search usable again

This commit is contained in:
Max Richter
2025-11-05 00:42:53 +01:00
parent 7664abe089
commit 581f1c1926
9 changed files with 120 additions and 62 deletions

View File

@@ -23,7 +23,7 @@ export async function fetchQueryResource(url: URL, type = "") {
url.searchParams.set("status", "not-seen");
}
if (type) {
url.searchParams.set("types", type);
url.searchParams.set("type", type);
}
const response = await fetch(url);
const jsonData = await response.json();
@@ -114,6 +114,7 @@ const Search = (
const searchQuery = useSignal(q);
const data = useSignal<GenericResource[] | undefined>(results);
const isLoading = useSignal(false);
const rating = useSignal<number | undefined>(undefined);
const showSeenStatus = useSignal(false);
const inputRef = useRef<HTMLInputElement>(null);
@@ -122,8 +123,10 @@ const Search = (
if (u.searchParams.get("q") !== searchQuery.value) {
u.searchParams.set("q", searchQuery.value);
}
if (showSeenStatus.value) {
if (showSeenStatus.value === true) {
u.searchParams.set("rating", "0");
} else if (rating.value) {
u.searchParams.set("rating", rating.value.toString());
} else {
u.searchParams.delete("rating");
}
@@ -162,7 +165,7 @@ const Search = (
useEffect(() => {
debouncedFetchData(); // Call the debounced fetch function with the updated search query
}, [searchQuery.value, showSeenStatus.value]);
}, [searchQuery.value, showSeenStatus.value, rating.value]);
useEffect(() => {
debouncedFetchData();
@@ -187,8 +190,12 @@ const Search = (
onInput={handleInputChange}
/>
</div>
<Checkbox label="seen" checked={showSeenStatus} />
<Rating rating={4} />
<Checkbox label="unseen" checked={showSeenStatus} />
<div
class={showSeenStatus.value ? "opacity-10" : ""}
>
<Rating rating={rating} />
</div>
</header>
{data.value?.length && !isLoading.value
? <SearchResultList showEmoji={!type} result={data.value} />