/* @component-map * App β€” Main container, layout and view orchestration * SearchSection β€” City input and explore button, triggers AI generation * ResultsSection β€” Displays AI-generated places for a city * HistorySection β€” Shows recent city searches and allows re-exploring or clearing * @end-component-map */ import { SearchSection } from './components/SearchSection.jsx'; import { ResultsSection } from './components/ResultsSection.jsx'; import { HistorySection } from './components/HistorySection.jsx'; function App() { const [currentCity, setCurrentCity] = useState(null); const [places, setPlaces] = useState([]); const [aiLoading, setAiLoading] = useState(false); return (
πŸ—ΊοΈ

City Wanderer

Discover 5 cool places in any city β€” powered by AI ✨

{ setCurrentCity(city); setPlaces(results); }} aiLoading={aiLoading} setAiLoading={setAiLoading} /> { document.querySelector('.city-input')?.focus(); setCurrentCity(city); }} />
); } ReactDOM.createRoot(document.getElementById("root")).render();