Yaltopia-Ticket-Admin/src/App.tsx
2026-04-08 09:28:01 +03:00

105 lines
4.7 KiB
TypeScript

import { Navigate, Route, Routes } from "react-router-dom";
import { AppShell } from "@/layouts/app-shell";
import { ProtectedRoute } from "@/components/ProtectedRoute";
import LoginPage from "@/pages/login";
import DashboardPage from "@/pages/admin/dashboard";
import UsersPage from "@/pages/admin/users";
import UserDetailsPage from "@/pages/admin/users/[id]";
import UserActivityPage from "@/pages/admin/users/[id]/activity";
import ActivityLogPage from "@/pages/activity-log";
import SettingsPage from "@/pages/admin/settings";
import MaintenancePage from "@/pages/admin/maintenance";
import AnnouncementsPage from "@/pages/admin/announcements";
import AuditPage from "@/pages/admin/audit";
import SecurityPage from "@/pages/admin/security";
import FailedLoginsPage from "@/pages/admin/security/failed-logins";
import SuspiciousActivityPage from "@/pages/admin/security/suspicious";
import ApiKeysPage from "@/pages/admin/security/api-keys";
import RateLimitsPage from "@/pages/admin/security/rate-limits";
import SessionsPage from "@/pages/admin/security/sessions";
import AnalyticsPage from "@/pages/admin/analytics";
import AnalyticsOverviewPage from "@/pages/admin/analytics/overview";
import AnalyticsUsersPage from "@/pages/admin/analytics/users";
import AnalyticsRevenuePage from "@/pages/admin/analytics/revenue";
import AnalyticsStoragePage from "@/pages/admin/analytics/storage";
import AnalyticsApiPage from "@/pages/admin/analytics/api";
import HealthPage from "@/pages/admin/health";
import NotificationsPage from "@/pages/notifications";
import PaymentsListPage from "@/pages/admin/payments/payments-list";
import PaymentRequestsPage from "@/pages/admin/payments/payment-requests";
import InvoicesPage from "@/pages/admin/invoices/invoices-list";
import ProformaPage from "@/pages/admin/invoices/proforma-list";
import ProformaRequestsPage from "@/pages/admin/invoices/proforma-requests";
function App() {
return (
<Routes>
<Route path="/login" element={<LoginPage />} />
<Route
element={
<ProtectedRoute>
<AppShell />
</ProtectedRoute>
}
>
<Route index element={<Navigate to="/admin/dashboard" replace />} />
<Route path="admin/dashboard" element={<DashboardPage />} />
<Route path="admin/users" element={<UsersPage />} />
<Route path="admin/users/:id" element={<UserDetailsPage />} />
<Route path="admin/users/:id/activity" element={<UserActivityPage />} />
<Route path="admin/logs" element={<ActivityLogPage />} />
<Route path="admin/logs/errors" element={<ActivityLogPage />} />
<Route path="admin/logs/access" element={<ActivityLogPage />} />
<Route path="admin/logs/:id" element={<ActivityLogPage />} />
<Route path="admin/settings" element={<SettingsPage />} />
<Route path="admin/maintenance" element={<MaintenancePage />} />
<Route path="admin/announcements" element={<AnnouncementsPage />} />
<Route path="admin/audit" element={<AuditPage />} />
<Route path="admin/security" element={<SecurityPage />} />
<Route
path="admin/security/failed-logins"
element={<FailedLoginsPage />}
/>
<Route
path="admin/security/suspicious"
element={<SuspiciousActivityPage />}
/>
<Route path="admin/security/api-keys" element={<ApiKeysPage />} />
<Route path="admin/security/rate-limits" element={<RateLimitsPage />} />
<Route path="admin/security/sessions" element={<SessionsPage />} />
<Route path="admin/analytics" element={<AnalyticsPage />} />
<Route
path="admin/analytics/overview"
element={<AnalyticsOverviewPage />}
/>
<Route path="admin/analytics/users" element={<AnalyticsUsersPage />} />
<Route
path="admin/analytics/revenue"
element={<AnalyticsRevenuePage />}
/>
<Route
path="admin/analytics/storage"
element={<AnalyticsStoragePage />}
/>
<Route path="admin/analytics/api" element={<AnalyticsApiPage />} />
<Route path="admin/payments" element={<PaymentsListPage />} />
<Route
path="admin/payment-requests"
element={<PaymentRequestsPage />}
/>
<Route path="admin/invoices" element={<InvoicesPage />} />
<Route path="admin/proforma" element={<ProformaPage />} />
<Route
path="admin/proforma-requests"
element={<ProformaRequestsPage />}
/>
<Route path="admin/health" element={<HealthPage />} />
<Route path="notifications" element={<NotificationsPage />} />
</Route>
<Route path="*" element={<Navigate to="/admin/dashboard" replace />} />
</Routes>
);
}
export default App;