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"}
>