diff --git a/src/App.tsx b/src/App.tsx index cc0d0e1..dd66d67 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -6,14 +6,21 @@ import { } from "react-router-dom"; import Login from "./pages/Login"; import Dashboard from "./pages/Dashboard"; -import MedicalRecord from "./pages/MedicalRecord"; -import CostRecommendation from "./pages/CostRecommendation"; -import BPJSSync from "./pages/BPJSSync"; -import BPJSCode from "./pages/BPJSCode"; -import MedicalRecordSync from "./pages/MedicalRecordSync"; -import UserManagement from "./pages/UserManagement"; -import RoleManagement from "./pages/RoleManagement"; +// Medical Records Components +import { + Clinical, + Administrative, + CostRecommendation, + BPJSCodeification, +} from "./pages/medical-records"; + +// Integration Components +import { BPJSSyncLogs, MedicalRecordSyncLogs } from "./pages/integration"; + +// System Administration Components +import { User, Role } from "./pages/system-administration"; + import NotFound from "./pages/NotFound"; import NotFoundProtected from "./pages/NotFoundProtected"; import Layout from "./components/Layout"; @@ -33,18 +40,67 @@ function App() { } > } /> - } /> - } /> - } /> - } /> + {/* Medical Records Routes */} + } /> } + path="medical-records/administrative" + element={} + /> + } + /> + } + /> + + {/* Data Integration Routes */} + } /> + } + /> + + {/* System Administration Routes */} + } /> + } /> + + {/* Legacy Routes (redirects to new organized routes) */} + + } + /> + } + /> + + } + /> + } + /> + } + /> + } + /> + } /> - } /> - } /> } /> {/* Protected 404 - untuk route di dalam layout sidebar */} } /> diff --git a/src/components/Sidebar.tsx b/src/components/Sidebar.tsx index a37d738..9cd5f24 100644 --- a/src/components/Sidebar.tsx +++ b/src/components/Sidebar.tsx @@ -33,52 +33,64 @@ export default function Sidebar({ path: "/dashboard", color: "text-blue-600", }, - { - title: "Cost Recommendation", - icon: TrendingUp, - path: "/cost-recommendation", - color: "text-green-600", - }, { title: "Integrasi Data", icon: Database, - color: "text-purple-600", + color: "text-blue-600", submenu: [ - { title: "BPJS", icon: Shield, path: "/integration/bpjs" }, { - title: "Medical Record", + title: "Sinkronisasi BPJS", + icon: Shield, + path: "/integration/bpjs-sync", + }, + { + title: "Sinkronisasi Rekam Medis", icon: FileText, - path: "/integration/medical-record", + path: "/integration/medical-record-sync", }, ], }, { - title: "Pasien", + title: "Rekam Medis", icon: Users, - color: "text-orange-600", + color: "text-blue-600", submenu: [ { - title: "Medical Record Pasien", + title: "Klinis", icon: FileText, - path: "/patients/medical-record", + path: "/medical-records/clinical", + }, + { + title: "Administratif", + icon: FileText, + path: "/medical-records/administrative", + }, + { + title: "Rekomendasi Biaya", + icon: TrendingUp, + path: "/medical-records/cost-recommendation", + }, + { + title: "Kodefikasi BPJS", + icon: FileText, + path: "/medical-records/bpjs-codification", }, - { title: "BPJS Code", icon: Shield, path: "/patients/bpjs-code" }, ], }, { - title: "System Administration", + title: "Administrasi Sistem", icon: UserCog, - color: "text-red-700", + color: "text-blue-600", submenu: [ { - title: "Manajemen User", + title: "Pengguna", icon: Users, - path: "/admin/users", + path: "/system-administration/user", }, { - title: "Manajemen Role", + title: "Peran", icon: Lock, - path: "/admin/roles", + path: "/system-administration/role", }, ], }, @@ -127,7 +139,7 @@ export default function Sidebar({ {onToggleCollapse && (