Repository navigation
Expand file tree
/
Copy pathApp.js
More file actions
52 lines (47 loc) · 2.12 KB
/
Copy pathApp.js
File metadata and controls
52 lines (47 loc) · 2.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import React from 'react';
import { BrowserRouter as Router, Route, Routes, Navigate } from 'react-router-dom';
import MainLayout from './components/MainLayout';
import HomePage from './components/HomePage';
import ProfilePage from './components/ProfilePage';
import TournamentPage from './components/TournamentPage';
import LeaderboardPage from './components/LeaderboardPage';
import InviteFriendsPage from './components/InviteFriendsPage';
import Mugwumps from './components/Mugwumps';
import MemoryMagic from './components/MemoryMagic/MemoryMagic';
import TicTacToe from './components/TicTacToe';
import TypingSpeedTest from './components/TypingSpeedTest';
import BallBounceGame from './components/BallBounceGame';
import SignInSignUp from './components/Auth/SignInSignUp';
function App() {
const isSignedIn = !!localStorage.getItem('userToken'); // Check if the user is signed in
return (
<Router>
<Routes>
{/* Route for SignIn/SignUp page */}
<Route
path="/signin"
element={isSignedIn ? <Navigate to="/home" /> : <SignInSignUp />}
/>
{/* Protected routes */}
<Route
path="/"
element={isSignedIn ? <MainLayout /> : <Navigate to="/signin" />}
>
<Route path="/home" element={<HomePage />} />
<Route path="/profile" element={<ProfilePage />} />
<Route path="/tournament" element={<TournamentPage />} />
<Route path="/leaderboard" element={<LeaderboardPage />} />
<Route path="/invite-friends" element={<InviteFriendsPage />} />
<Route path="/mugwumps" element={<Mugwumps />} />
<Route path="/memory-magic" element={<MemoryMagic />} />
<Route path="/tictactoe" element={<TicTacToe />} />
<Route path="/typing-speed-test" element={<TypingSpeedTest />} />
<Route path="/ballbouncegame" element={<BallBounceGame />} />
</Route>
{/* Redirect all other routes to home if signed in, else to sign-in */}
<Route path="*" element={<Navigate to={isSignedIn ? "/home" : "/signin"} />} />
</Routes>
</Router>
);
}
export default App;