diff --git a/clients/web/src/components/guests/GuestSearchBar.tsx b/clients/web/src/components/guests/GuestSearchBar.tsx index edd35a1c..313b9703 100644 --- a/clients/web/src/components/guests/GuestSearchBar.tsx +++ b/clients/web/src/components/guests/GuestSearchBar.tsx @@ -1,4 +1,4 @@ -import { Search } from "lucide-react"; +import { SearchBar } from "@/components/ui/SearchBar"; type GuestSearchBarProps = { value: string; @@ -7,15 +7,6 @@ type GuestSearchBarProps = { export function GuestSearchBar({ value, onChange }: GuestSearchBarProps) { return ( - + ); } diff --git a/clients/web/src/components/rooms/RoomsToolbar.tsx b/clients/web/src/components/rooms/RoomsToolbar.tsx index 98a1f068..bfdabc16 100644 --- a/clients/web/src/components/rooms/RoomsToolbar.tsx +++ b/clients/web/src/components/rooms/RoomsToolbar.tsx @@ -1,8 +1,11 @@ +import { SearchBar } from "../ui/SearchBar"; import { FloorDropdown } from "./FloorDropdown"; import { OrderByDropdown } from "./OrderByDropdown"; import { RoomsFilterPopover } from "@/components/rooms/RoomsFilterPopover"; type RoomsToolbarProps = { + searchTerm: string; + onChangeSearchTerm: (value: string) => void; selectedFloors: Array; onChangeSelectedFloors: (floors: Array) => void; ascending: boolean; @@ -10,6 +13,8 @@ type RoomsToolbarProps = { }; export function RoomsToolbar({ + searchTerm, + onChangeSearchTerm, selectedFloors, onChangeSelectedFloors, ascending, @@ -17,6 +22,12 @@ export function RoomsToolbar({ }: RoomsToolbarProps) { return (
+ , + "value" | "onChange" +> & { + value: string; + onChange: (value: string) => void; + className?: string; + inputClassName?: string; + iconClassName?: string; + icon?: ReactNode; +}; + +export function SearchBar({ + value, + onChange, + placeholder = "Search for a room...", + className, + inputClassName, + iconClassName, + icon, + ...inputProps +}: SearchBarProps) { + return ( + + ); +} diff --git a/clients/web/src/routes/_protected/rooms.index.tsx b/clients/web/src/routes/_protected/rooms.index.tsx index 5f1cb74b..a13de278 100644 --- a/clients/web/src/routes/_protected/rooms.index.tsx +++ b/clients/web/src/routes/_protected/rooms.index.tsx @@ -16,6 +16,7 @@ export const Route = createFileRoute("/_protected/rooms/")({ }); function RoomsPage() { + const [searchTerm, setSearchTerm] = useState(""); const [selectedFloors, setSelectedFloors] = useState>([]); const [selectedRoom, setSelectedRoom] = useState(null); @@ -60,6 +61,8 @@ function RoomsPage() { contentClassName={"h-full"} >