Spaces:
Build error
Build error
File size: 2,334 Bytes
caae15f b4297ca 4071fe2 caae15f 7d9d30d fdaf912 caae15f 7d9d30d caae15f 7d9d30d fdaf912 caae15f 4071fe2 fdaf912 b4297ca fdaf912 b4297ca fdaf912 b4297ca fdaf912 b4297ca fdaf912 b4297ca 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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
// SearchSection.tsx
"use client";
import { useState, ChangeEvent, FormEvent } from "react";
import { AutofillSearchQuery } from "@/app/components/ui/autofill-prompt";
import { SearchSelection, useSearch, SearchResults, SearchInput } from "./ui/search";
import { ToastContainer } from 'react-toastify';
import 'react-toastify/dist/ReactToastify.css';
const SearchSection: React.FC = () => {
const [query, setQuery] = useState("");
const { searchResults, isLoading, handleSearch } = useSearch();
const [searchButtonPressed, setSearchButtonPressed] = useState(false);
const [collSelectedId, setCollSelectedId] = useState<string>('');
const [collSelectedName, setCollSelectedName] = useState<string>('');
const handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {
setQuery(e.target.value);
setSearchButtonPressed(false);
};
const handleSearchSubmit = (e: FormEvent) => {
e.preventDefault();
setSearchButtonPressed(true);
handleSearch(query, collSelectedId);
};
return (
<div className="space-y-4 max-w-5xl w-full">
<ToastContainer />
{collSelectedId ? (
<>
<SearchInput
collSelectedId={collSelectedId}
collSelectedName={collSelectedName}
query={query}
isLoading={isLoading}
results={searchResults}
onInputChange={handleInputChange}
onSearchSubmit={handleSearchSubmit}
/>
<AutofillSearchQuery
collSelectedId={collSelectedId}
collSelectedName={collSelectedName}
query={query}
isLoading={isLoading}
results={searchResults}
onInputChange={handleInputChange}
onSearchSubmit={handleSearchSubmit}
handleCollIdSelect={setCollSelectedId}
/>
<SearchResults
query={query}
results={searchResults}
isLoading={isLoading}
searchButtonPressed={searchButtonPressed}
/>
</>
) : (
<SearchSelection
collSelectedId={collSelectedId}
collSelectedName={collSelectedName}
handleCollIdSelect={setCollSelectedId}
handleCollNameSelect={setCollSelectedName}
/>
)}
</div>
);
};
export default SearchSection;
|