97 lines
2.9 KiB
TypeScript
97 lines
2.9 KiB
TypeScript
import { Toaster } from "@/components/ui/toaster";
|
|
import { Toaster as Sonner } from "@/components/ui/sonner";
|
|
import { TooltipProvider } from "@/components/ui/tooltip";
|
|
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
import { BrowserRouter, Routes, Route, Navigate } from "react-router-dom";
|
|
import { AuthProvider } from "@/contexts/AuthContext";
|
|
import { ProtectedRoute } from "@/components/auth/ProtectedRoute";
|
|
import { PageLoader } from "@/components/ui/PageLoader"; // Added import for PageLoader
|
|
import Login from "./pages/Login";
|
|
import Dashboard from "./pages/Dashboard";
|
|
import PartnerDirectory from "./features/partners/PartnerDirectory";
|
|
import PartnerProfile from "./features/partners/PartnerProfile";
|
|
import Events from "./pages/Events";
|
|
import Users from "./pages/Users";
|
|
import Financials from "./pages/Financials";
|
|
import Settings from "./pages/Settings";
|
|
import NotFound from "./pages/NotFound";
|
|
|
|
const queryClient = new QueryClient();
|
|
|
|
const App = () => (
|
|
<QueryClientProvider client={queryClient}>
|
|
<TooltipProvider>
|
|
<Toaster />
|
|
<Sonner />
|
|
<BrowserRouter>
|
|
<AuthProvider>
|
|
<PageLoader /> {/* Rendered PageLoader here */}
|
|
<Routes>
|
|
<Route path="/login" element={<Login />} />
|
|
<Route
|
|
path="/"
|
|
element={
|
|
<ProtectedRoute>
|
|
<Dashboard />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
<Route
|
|
path="/partners"
|
|
element={
|
|
<ProtectedRoute>
|
|
<PartnerDirectory />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
<Route
|
|
path="/partners/:id"
|
|
element={
|
|
<ProtectedRoute>
|
|
<PartnerProfile />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
<Route
|
|
path="/events"
|
|
element={
|
|
<ProtectedRoute>
|
|
<Events />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
<Route
|
|
path="/users"
|
|
element={
|
|
<ProtectedRoute>
|
|
<Users />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
<Route
|
|
path="/financials"
|
|
element={
|
|
<ProtectedRoute>
|
|
<Financials />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
<Route
|
|
path="/settings"
|
|
element={
|
|
<ProtectedRoute>
|
|
<Settings />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
{/* ADD ALL CUSTOM ROUTES ABOVE THE CATCH-ALL "*" ROUTE */}
|
|
<Route path="*" element={<NotFound />} />
|
|
</Routes>
|
|
</AuthProvider>
|
|
</BrowserRouter>
|
|
</TooltipProvider>
|
|
</QueryClientProvider>
|
|
);
|
|
|
|
export default App;
|