fix: make search usable again
This commit is contained in:
@@ -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} />
|
||||
|
||||
Reference in New Issue
Block a user