19 lines
1.2 KiB
JavaScript
19 lines
1.2 KiB
JavaScript
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';
|
|
const App = () => {
|
|
const [view, setView] = useState('landing');
|
|
const [isInitialSetup, setIsInitialSetup] = useState(false);
|
|
useEffect(() => {
|
|
fetch('http://localhost:3001/api/v1/auth/status')
|
|
.then(res => res.json())
|
|
.then(data => setIsInitialSetup(data.isInitialSetup))
|
|
.catch(() => setIsInitialSetup(false));
|
|
}, [view]);
|
|
return (_jsxs("div", { className: "app-container", children: [view === 'landing' && (_jsx(LandingPage, { isInitialSetup: isInitialSetup, onContinue: () => setView('explore'), onGoToSignup: () => setView('signup'), onGoToMap: () => setView('explore') })), view === 'signup' && (_jsx(SignupPage, { onBack: () => setView('landing'), onSuccess: () => setView('landing') })), view === 'explore' && (_jsx(ExploreMap, { onBack: () => setView('landing') })), view === 'detail' && (_jsx(TourDetailPage, {}))] }));
|
|
};
|
|
export default App;
|
|
//# sourceMappingURL=App.js.map
|