You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
829 B
38 lines
829 B
"use client";
|
|
|
|
import { FC } from "react";
|
|
|
|
import { useSearch } from "@/hooks/useSearch";
|
|
|
|
import { SearchType } from "@/client/typings/search/options";
|
|
|
|
import { Search as SearchInput } from "@/components/Search";
|
|
|
|
import { Filter } from "./Filter";
|
|
|
|
export const SearchPageHeader: FC<{
|
|
query?: string;
|
|
filter?: SearchType;
|
|
}> = ({ query, filter }) => {
|
|
const searchFor = useSearch();
|
|
|
|
const searchForQuery = (query: string): void => {
|
|
searchFor(query, filter);
|
|
};
|
|
|
|
const searchWithFilter = (filter: SearchType): void => {
|
|
if (query) searchFor(query, filter);
|
|
};
|
|
|
|
return (
|
|
<div className="flex flex-row gap-2">
|
|
<div className="flex-1">
|
|
<SearchInput query={query} setQuery={searchForQuery} />
|
|
</div>
|
|
<div>
|
|
<Filter filter={filter ?? "all"} setFilter={searchWithFilter} />
|
|
</div>
|
|
</div>
|
|
);
|
|
};
|