import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { useState, useEffect } from 'react'; import { LandingPage } from './LandingPage.js'; import { TourDetailPage } from './TourDetailPage.js'; import { ExploreMap } from './ExploreMap.js'; import { SignupPage } from './SignupPage.js'; import { useTourStore } from './useTourStore.js'; const App = () => { const [view, setView] = useState('landing'); const [isInitialSetup, setIsInitialSetup] = useState(false); const [user, setUser] = useState(null); const [isUserLoaded, setIsUserLoaded] = useState(false); const fetchTour = useTourStore(state => state.fetchTour); useEffect(() => { const API_BASE = `http://${window.location.hostname}:3001`; const savedUser = localStorage.getItem('user'); if (savedUser) { const parsedUser = JSON.parse(savedUser); setUser(parsedUser); } setIsUserLoaded(true); fetch(`${API_BASE}/api/v1/auth/status`) .then(res => res.ok ? res.json() : Promise.reject()) .then(data => setIsInitialSetup(!!data.isInitialSetup)) .catch(() => setIsInitialSetup(false)); }, []); useEffect(() => { if (isUserLoaded && user && view === 'landing') { setView('explore'); } }, [isUserLoaded, user, view]); const handleLoginSuccess = (userData) => { setUser(userData); }; const handleLogout = () => { localStorage.removeItem('user'); localStorage.removeItem('token'); setUser(null); setView('landing'); }; return (_jsxs("div", { className: "app-container", children: [view === 'landing' && (_jsx(LandingPage, { isInitialSetup: isInitialSetup, onContinue: () => setView('explore'), onGoToSignup: () => setView('signup'), onGoToMap: () => setView('explore'), onLoginSuccess: handleLoginSuccess })), view === 'signup' && (_jsx(SignupPage, { onBack: () => setView('landing'), onSuccess: () => setView('landing') })), view === 'explore' && (_jsx(ExploreMap, { onBack: () => setView('landing'), onLogout: user ? handleLogout : undefined, user: user, onViewTour: (id) => { fetchTour(id); setView('detail'); } })), view === 'detail' && (_jsx(TourDetailPage, { onBack: () => setView('explore') }))] })); }; export default App; //# sourceMappingURL=App.js.map