File size: 1,372 Bytes
018dc4e
8ec33d8
 
 
 
018dc4e
 
55a034a
 
018dc4e
 
55a034a
 
 
8ec33d8
 
 
018dc4e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8ec33d8
 
 
55a034a
018dc4e
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

import { BrowserRouter as Router, Routes, Route } from "react-router-dom";
import Index from "@/pages/Index";
import { AdminIndex } from "@/pages/admin/Index";
import { AdminLogin } from "@/pages/admin/Login";
import Login from "@/pages/auth/Login";
import Register from "@/pages/auth/Register";
import { Toaster } from "@/components/ui/toaster";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { AuthProvider } from "@/contexts/AuthContext";
import { ProtectedRoute } from "@/components/auth/ProtectedRoute";

const queryClient = new QueryClient();

function App() {
  return (
    <QueryClientProvider client={queryClient}>
      <AuthProvider>
        <Router>
          <Routes>
            <Route path="/" element={<Index />} />
            <Route path="/game" element={<Index />} />
            <Route path="/game/:gameId" element={<Index />} />
            <Route path="/auth/login" element={<Login />} />
            <Route path="/auth/register" element={<Register />} />
            <Route path="/admin" element={
              <ProtectedRoute>
                <AdminIndex />
              </ProtectedRoute>
            } />
            <Route path="/admin/login" element={<AdminLogin />} />
          </Routes>
          <Toaster />
        </Router>
      </AuthProvider>
    </QueryClientProvider>
  );
}

export default App;