useSites Hook & Searchbar & Layout component

This commit is contained in:
headlesdev
2025-05-18 13:15:11 +02:00
parent 366ad21ed1
commit 20dc406fd1
3 changed files with 127 additions and 52 deletions

View File

@@ -0,0 +1,38 @@
import { ChangeEvent } from "react";
interface SearchAndLayoutProps {
search: string;
setSearch: (value: string) => void;
itemPerPage: number;
setItemPerPage: (value: number) => void;
}
const SearchAndLayout = ({
search,
setSearch,
itemPerPage,
setItemPerPage
}: SearchAndLayoutProps) => (
<div className="flex gap-2 items-center pt-4">
<input
type="text"
placeholder="Search..."
className="input input-bordered w-full"
value={search}
onChange={(e: ChangeEvent<HTMLInputElement>) => setSearch(e.target.value)}
/>
<select
className="select w-24"
value={itemPerPage}
onChange={(e: ChangeEvent<HTMLSelectElement>) =>
setItemPerPage(Number(e.target.value))
}
>
<option disabled>Layout</option>
<option value={5}>List</option>
<option value={10}>Grid</option>
</select>
</div>
);
export default SearchAndLayout;