import React, { useState } from "react"; import { BrowserRouter, Routes, Route, Navigate } from "react-router-dom"; import Sidebar from "./components/Sidebar"; import Topbar from "./components/Topbar"; import Dashboard from "./pages/Dashboard"; // AUTH import LoginPage from "./pages/auth/LoginPage"; import { isAuthenticated } from "./services/authService"; // CONTACTS import ContactsList from "./pages/contacts/list/List"; import ContactFormPage from "./pages/contacts/form/ContactFormPage"; // ACCOUNTS import AccountList from "./pages/accounts/list/List"; import AccountFormPage from "./pages/accounts/form/AccountFormPage"; // EMPLOYEES import EmployeeList from "./pages/employees/list/List"; import EmployeeFormPage from "./pages/employees/form/EmployeeFormPage"; // LOCATIONS import LocationsList from "./pages/locations/list/List"; import LocationFormPage from "./pages/locations/form/LocationFormPage"; // WORK ORDERS import WorkOrdersList from "./pages/workorders/list/List"; import WorkOrderViewPage from "./pages/workorders/view/WorkOrderViewPage"; import WorkOrderFormPage from "./pages/workorders/form/WorkOrderFormPage"; // FOLLOW UPS import FollowUpList from "./pages/followup/list/List"; import FollowUpFormPage from "./pages/followup/form/FollowUpFormPage"; // PM SCHEDULES import PMScheduleList from "./pages/PmSchedule/list/List"; import PMScheduleFormPage from "./pages/PmSchedule/form/PmScheduleFormPage"; // ASSETS import AssetsList from "./pages/assets/list/List"; import AssetFormPage from "./pages/assets/form/AssetFormPage"; // CALENDAR import CalendarPage from "./pages/calendar/list/CalendarPage"; import EventFormPage from "./pages/calendar/form/EventFormPage"; // VENDORS import VendorsList from "./pages/vendors/list/List"; import VendorFormPage from "./pages/vendors/form/VendorFormPage"; // SETTINGS import DropdownOptionsPage from "./pages/settings/DropdownOptionsPage"; // Protected Route Component function ProtectedRoute({ children }) { return isAuthenticated() ? children : ; } export default function App() { const [navCollapsed, setNavCollapsed] = useState(false); return ( {/* Public Routes */} } /> {/* Protected Routes */}
setNavCollapsed(v => !v)} />
} /> } /> {/* CONTACTS */} } /> } /> } /> {/* ACCOUNTS */} } /> } /> } /> {/* EMPLOYEES */} } /> } /> } /> {/* LOCATIONS */} } /> } /> } /> {/* WORK ORDERS */} } /> } /> } /> } /> {/* FOLLOW UPS */} } /> } /> } /> {/* PM SCHEDULES */} } /> } /> } /> {/* ASSETS */} } /> } /> } /> {/* VENDORS */} } /> } /> } /> {/* CALENDAR */} } /> } /> } /> {/* SETTINGS */} } />
} />
); }