2026-03-06 20:14:50 +07:00
|
|
|
import { useEffect } from 'react';
|
|
|
|
|
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
|
2026-03-07 01:32:24 +07:00
|
|
|
import { LandingPage } from './pages/LandingPage';
|
2026-03-04 08:25:52 +07:00
|
|
|
import { EditorPage } from './pages/EditorPage';
|
|
|
|
|
import { ExamplesPage } from './pages/ExamplesPage';
|
2026-03-06 20:14:50 +07:00
|
|
|
import { LoginPage } from './pages/LoginPage';
|
|
|
|
|
import { RegisterPage } from './pages/RegisterPage';
|
|
|
|
|
import { UserProfilePage } from './pages/UserProfilePage';
|
|
|
|
|
import { ProjectPage } from './pages/ProjectPage';
|
|
|
|
|
import { useAuthStore } from './store/useAuthStore';
|
2026-03-03 10:20:49 +07:00
|
|
|
import './App.css';
|
|
|
|
|
|
|
|
|
|
function App() {
|
2026-03-06 20:14:50 +07:00
|
|
|
const checkSession = useAuthStore((s) => s.checkSession);
|
|
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
checkSession();
|
|
|
|
|
}, []);
|
|
|
|
|
|
2026-03-03 10:20:49 +07:00
|
|
|
return (
|
2026-03-04 08:25:52 +07:00
|
|
|
<Router>
|
|
|
|
|
<Routes>
|
2026-03-07 01:32:24 +07:00
|
|
|
<Route path="/" element={<LandingPage />} />
|
|
|
|
|
<Route path="/editor" element={<EditorPage />} />
|
2026-03-04 08:25:52 +07:00
|
|
|
<Route path="/examples" element={<ExamplesPage />} />
|
2026-03-06 20:14:50 +07:00
|
|
|
<Route path="/login" element={<LoginPage />} />
|
|
|
|
|
<Route path="/register" element={<RegisterPage />} />
|
|
|
|
|
{/* Specific literal routes must come before wildcard /:username */}
|
|
|
|
|
<Route path="/:username/:projectName" element={<ProjectPage />} />
|
|
|
|
|
<Route path="/:username" element={<UserProfilePage />} />
|
2026-03-04 08:25:52 +07:00
|
|
|
</Routes>
|
|
|
|
|
</Router>
|
2026-03-03 10:20:49 +07:00
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default App;
|