Spaces:
Build error
Build error
File size: 1,399 Bytes
caae15f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
// SearchInput.tsx
import { ChangeEvent, FormEvent } from "react";
import { Button } from "../button";
import { Input } from "../input";
import { Search } from "lucide-react";
interface SearchInputProps {
query: string;
isLoading: boolean;
onInputChange: (e: ChangeEvent<HTMLInputElement>) => void;
onSearchSubmit: (e: FormEvent) => void;
}
const SearchInput: React.FC<SearchInputProps> = ({
query,
isLoading,
onInputChange,
onSearchSubmit,
}) => {
return (
<form
onSubmit={onSearchSubmit}
className="flex w-full items-start justify-between gap-4 rounded-xl bg-white dark:bg-zinc-700/30 p-4 shadow-xl"
>
<Input
autoFocus
name="query"
placeholder="Enter a text to search..."
value={query}
onChange={onInputChange}
className="flex-1 bg-white dark:bg-zinc-500/30"
/>
<Button type="submit" disabled={isLoading} className="hidden md:flex items-center transition duration-300 ease-in-out transform hover:scale-110">
Search
</Button>
<Button type="submit" disabled={isLoading} className="md:hidden"> {/* Hide on larger screens */}
<Search className="h-5 w-5" />
</Button>
</form>
);
};
export default SearchInput;
|