import React from 'react'; import { Routes, Route, Navigate } from 'react-router-dom'; import { useAuthStore } from './stores/authStore'; import AdminLayout from './components/layout/AdminLayout'; import LoginPage from './pages/LoginPage'; import DashboardPage from './pages/DashboardPage'; import UsersPage from './pages/UsersPage'; import UserDetailPage from './pages/UserDetailPage'; import DoctorsPage from './pages/DoctorsPage'; import DoctorDetailPage from './pages/DoctorDetailPage'; import ClinicsPage from './pages/ClinicsPage'; import ClinicDetailPage from './pages/ClinicDetailPage'; import AppointmentsPage from './pages/AppointmentsPage'; import AppointmentDetailPage from './pages/AppointmentDetailPage'; import PaymentsPage from './pages/PaymentsPage'; import PaymentDetailPage from './pages/PaymentDetailPage'; import SettlementsPage from './pages/SettlementsPage'; import RepresentationsPage from './pages/RepresentationsPage'; import RepresentationDetailPage from './pages/RepresentationDetailPage'; import CommentsPage from './pages/CommentsPage'; import RatingsPage from './pages/RatingsPage'; import SmsPage from './pages/SmsPage'; import CategoriesPage from './pages/CategoriesPage'; import BlogsPage from './pages/BlogsPage'; import BlogFormPage from './pages/BlogFormPage'; import SecretariesPage from './pages/SecretariesPage'; function PrivateRoute({ children }: { children: React.ReactNode }) { const isAuthenticated = useAuthStore((s) => s.isAuthenticated); return isAuthenticated ? <>{children} : ; } function PublicRoute({ children }: { children: React.ReactNode }) { const isAuthenticated = useAuthStore((s) => s.isAuthenticated); return isAuthenticated ? : <>{children}; } export default function App() { return ( } /> } > } /> } /> {/* Users */} } /> } /> {/* Doctors */} } /> } /> {/* Clinics */} } /> } /> {/* Appointments */} } /> } /> {/* Payments */} } /> } /> {/* Settlements */} } /> {/* Representations */} } /> } /> {/* Comments & Ratings */} } /> } /> {/* SMS */} } /> {/* Categories */} } /> {/* Blogs */} } /> } /> } /> {/* Secretaries */} } /> } /> ); }