import React, { useState } from 'react'; import { Search, Sparkles, Sidebar as Shuffle, Users, BookOpen } from 'lucide-react'; const Hero = ({ onRecommend }) => { const [query, setQuery] = useState(''); const [results, setResults] = useState([]); const [showButtons, setShowButtons] = useState(false); const handleSearchChange = async (e) => { const val = e.target.value; setQuery(val); if (val.length > 2) { try { const resp = await fetch(`/api/search_books?query=${encodeURIComponent(val)}`); const data = await resp.json(); setResults(data); } catch (err) { console.error(err); } } else { setResults([]); } }; const handleSelect = (title) => { setQuery(title); setResults([]); setShowButtons(true); }; const handleAction = (method) => { if (query.trim()) { onRecommend(query, method); } }; return (
AI-Powered Recommendations

BookSage-AI

Discover your next favorite book with our intelligent hybrid recommendation engine that learns from millions of readers

e.key === 'Enter' && setShowButtons(true)} />
{results.length > 0 && (
{results.map((book, i) => ( ))}
)}
{showButtons && (
)}
); }; export default Hero;