@burdenoff/microfe-mybodyshield 2026.511.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -0
- package/dist/dev/main.d.ts +2 -0
- package/dist/dev/main.d.ts.map +1 -0
- package/dist/generated/global-operations.d.ts +2 -0
- package/dist/generated/global-operations.d.ts.map +1 -0
- package/dist/generated/global-types.d.ts +18199 -0
- package/dist/generated/global-types.d.ts.map +1 -0
- package/dist/generated/wspace-operations.d.ts +2 -0
- package/dist/generated/wspace-operations.d.ts.map +1 -0
- package/dist/generated/wspace-types.d.ts +43046 -0
- package/dist/generated/wspace-types.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/mybodyshield/MyBodyShieldRoot.d.ts +5 -0
- package/dist/mybodyshield/MyBodyShieldRoot.d.ts.map +1 -0
- package/dist/mybodyshield/MyBodyShieldRoot.js +364 -0
- package/dist/mybodyshield/MyBodyShieldRoot.js.map +1 -0
- package/dist/mybodyshield/MyBodyShieldRoutes.d.ts +2 -0
- package/dist/mybodyshield/MyBodyShieldRoutes.d.ts.map +1 -0
- package/dist/mybodyshield/MyBodyShieldRoutes.js +199 -0
- package/dist/mybodyshield/MyBodyShieldRoutes.js.map +1 -0
- package/dist/mybodyshield/index.d.ts +5 -0
- package/dist/mybodyshield/index.d.ts.map +1 -0
- package/dist/mybodyshield/index.js +3 -0
- package/dist/mybodyshield/pages/AdminAiinsightsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/AdminAiinsightsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/AdminAiinsightsPage.js +161 -0
- package/dist/mybodyshield/pages/AdminAiinsightsPage.js.map +1 -0
- package/dist/mybodyshield/pages/AdminAnalyticsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/AdminAnalyticsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/AdminAnalyticsPage.js +193 -0
- package/dist/mybodyshield/pages/AdminAnalyticsPage.js.map +1 -0
- package/dist/mybodyshield/pages/AdminComplianceReportsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/AdminComplianceReportsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/AdminComplianceReportsPage.js +214 -0
- package/dist/mybodyshield/pages/AdminComplianceReportsPage.js.map +1 -0
- package/dist/mybodyshield/pages/AdminDashboardPage.d.ts +2 -0
- package/dist/mybodyshield/pages/AdminDashboardPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/AdminDashboardPage.js +186 -0
- package/dist/mybodyshield/pages/AdminDashboardPage.js.map +1 -0
- package/dist/mybodyshield/pages/AdminOrganizationManagementPage.d.ts +2 -0
- package/dist/mybodyshield/pages/AdminOrganizationManagementPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/AdminOrganizationManagementPage.js +252 -0
- package/dist/mybodyshield/pages/AdminOrganizationManagementPage.js.map +1 -0
- package/dist/mybodyshield/pages/AdminSystemSettingsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/AdminSystemSettingsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/AdminSystemSettingsPage.js +159 -0
- package/dist/mybodyshield/pages/AdminSystemSettingsPage.js.map +1 -0
- package/dist/mybodyshield/pages/AdminUserManagementPage.d.ts +2 -0
- package/dist/mybodyshield/pages/AdminUserManagementPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/AdminUserManagementPage.js +208 -0
- package/dist/mybodyshield/pages/AdminUserManagementPage.js.map +1 -0
- package/dist/mybodyshield/pages/FitnessAssessmentsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/FitnessAssessmentsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/FitnessAssessmentsPage.js +194 -0
- package/dist/mybodyshield/pages/FitnessAssessmentsPage.js.map +1 -0
- package/dist/mybodyshield/pages/FitnessClientDetailsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/FitnessClientDetailsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/FitnessClientDetailsPage.js +192 -0
- package/dist/mybodyshield/pages/FitnessClientDetailsPage.js.map +1 -0
- package/dist/mybodyshield/pages/FitnessClientManagementPage.d.ts +2 -0
- package/dist/mybodyshield/pages/FitnessClientManagementPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/FitnessClientManagementPage.js +128 -0
- package/dist/mybodyshield/pages/FitnessClientManagementPage.js.map +1 -0
- package/dist/mybodyshield/pages/FitnessDashboardPage.d.ts +2 -0
- package/dist/mybodyshield/pages/FitnessDashboardPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/FitnessDashboardPage.js +156 -0
- package/dist/mybodyshield/pages/FitnessDashboardPage.js.map +1 -0
- package/dist/mybodyshield/pages/FitnessReportsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/FitnessReportsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/FitnessReportsPage.js +138 -0
- package/dist/mybodyshield/pages/FitnessReportsPage.js.map +1 -0
- package/dist/mybodyshield/pages/FitnessWorkoutPlansPage.d.ts +2 -0
- package/dist/mybodyshield/pages/FitnessWorkoutPlansPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/FitnessWorkoutPlansPage.js +176 -0
- package/dist/mybodyshield/pages/FitnessWorkoutPlansPage.js.map +1 -0
- package/dist/mybodyshield/pages/PatientAppointmentsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/PatientAppointmentsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/PatientAppointmentsPage.js +132 -0
- package/dist/mybodyshield/pages/PatientAppointmentsPage.js.map +1 -0
- package/dist/mybodyshield/pages/PatientDashboardPage.d.ts +2 -0
- package/dist/mybodyshield/pages/PatientDashboardPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/PatientDashboardPage.js +190 -0
- package/dist/mybodyshield/pages/PatientDashboardPage.js.map +1 -0
- package/dist/mybodyshield/pages/PatientFitnessTrackingPage.d.ts +2 -0
- package/dist/mybodyshield/pages/PatientFitnessTrackingPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/PatientFitnessTrackingPage.js +137 -0
- package/dist/mybodyshield/pages/PatientFitnessTrackingPage.js.map +1 -0
- package/dist/mybodyshield/pages/PatientHealthGoalsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/PatientHealthGoalsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/PatientHealthGoalsPage.js +131 -0
- package/dist/mybodyshield/pages/PatientHealthGoalsPage.js.map +1 -0
- package/dist/mybodyshield/pages/PatientHealthOverviewPage.d.ts +2 -0
- package/dist/mybodyshield/pages/PatientHealthOverviewPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/PatientHealthOverviewPage.js +273 -0
- package/dist/mybodyshield/pages/PatientHealthOverviewPage.js.map +1 -0
- package/dist/mybodyshield/pages/PatientLabResultsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/PatientLabResultsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/PatientLabResultsPage.js +133 -0
- package/dist/mybodyshield/pages/PatientLabResultsPage.js.map +1 -0
- package/dist/mybodyshield/pages/PatientMedicationsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/PatientMedicationsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/PatientMedicationsPage.js +158 -0
- package/dist/mybodyshield/pages/PatientMedicationsPage.js.map +1 -0
- package/dist/mybodyshield/pages/PatientMentalHealthPage.d.ts +2 -0
- package/dist/mybodyshield/pages/PatientMentalHealthPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/PatientMentalHealthPage.js +152 -0
- package/dist/mybodyshield/pages/PatientMentalHealthPage.js.map +1 -0
- package/dist/mybodyshield/pages/PatientNutritionTrackingPage.d.ts +2 -0
- package/dist/mybodyshield/pages/PatientNutritionTrackingPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/PatientNutritionTrackingPage.js +141 -0
- package/dist/mybodyshield/pages/PatientNutritionTrackingPage.js.map +1 -0
- package/dist/mybodyshield/pages/PatientVitalSignsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/PatientVitalSignsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/PatientVitalSignsPage.js +160 -0
- package/dist/mybodyshield/pages/PatientVitalSignsPage.js.map +1 -0
- package/dist/mybodyshield/pages/ProviderCalendarPage.d.ts +2 -0
- package/dist/mybodyshield/pages/ProviderCalendarPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/ProviderCalendarPage.js +127 -0
- package/dist/mybodyshield/pages/ProviderCalendarPage.js.map +1 -0
- package/dist/mybodyshield/pages/ProviderCarePlansPage.d.ts +2 -0
- package/dist/mybodyshield/pages/ProviderCarePlansPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/ProviderCarePlansPage.js +153 -0
- package/dist/mybodyshield/pages/ProviderCarePlansPage.js.map +1 -0
- package/dist/mybodyshield/pages/ProviderClinicalToolsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/ProviderClinicalToolsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/ProviderClinicalToolsPage.js +174 -0
- package/dist/mybodyshield/pages/ProviderClinicalToolsPage.js.map +1 -0
- package/dist/mybodyshield/pages/ProviderDashboardPage.d.ts +2 -0
- package/dist/mybodyshield/pages/ProviderDashboardPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/ProviderDashboardPage.js +154 -0
- package/dist/mybodyshield/pages/ProviderDashboardPage.js.map +1 -0
- package/dist/mybodyshield/pages/ProviderPatientDetailsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/ProviderPatientDetailsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/ProviderPatientDetailsPage.js +295 -0
- package/dist/mybodyshield/pages/ProviderPatientDetailsPage.js.map +1 -0
- package/dist/mybodyshield/pages/ProviderPatientManagementPage.d.ts +2 -0
- package/dist/mybodyshield/pages/ProviderPatientManagementPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/ProviderPatientManagementPage.js +133 -0
- package/dist/mybodyshield/pages/ProviderPatientManagementPage.js.map +1 -0
- package/dist/mybodyshield/pages/ProviderPrescriptionsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/ProviderPrescriptionsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/ProviderPrescriptionsPage.js +138 -0
- package/dist/mybodyshield/pages/ProviderPrescriptionsPage.js.map +1 -0
- package/dist/mybodyshield/pages/ProviderReportsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/ProviderReportsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/ProviderReportsPage.js +149 -0
- package/dist/mybodyshield/pages/ProviderReportsPage.js.map +1 -0
- package/dist/mybodyshield/pages/SharedAppointmentsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/SharedAppointmentsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/SharedAppointmentsPage.js +129 -0
- package/dist/mybodyshield/pages/SharedAppointmentsPage.js.map +1 -0
- package/dist/mybodyshield/pages/SharedCommunityPage.d.ts +2 -0
- package/dist/mybodyshield/pages/SharedCommunityPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/SharedCommunityPage.js +152 -0
- package/dist/mybodyshield/pages/SharedCommunityPage.js.map +1 -0
- package/dist/mybodyshield/pages/SharedEmergencyAlertsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/SharedEmergencyAlertsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/SharedEmergencyAlertsPage.js +165 -0
- package/dist/mybodyshield/pages/SharedEmergencyAlertsPage.js.map +1 -0
- package/dist/mybodyshield/pages/SharedEmergencyPage.d.ts +2 -0
- package/dist/mybodyshield/pages/SharedEmergencyPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/SharedEmergencyPage.js +183 -0
- package/dist/mybodyshield/pages/SharedEmergencyPage.js.map +1 -0
- package/dist/mybodyshield/pages/SharedHealthAnalyticsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/SharedHealthAnalyticsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/SharedHealthAnalyticsPage.js +159 -0
- package/dist/mybodyshield/pages/SharedHealthAnalyticsPage.js.map +1 -0
- package/dist/mybodyshield/pages/SharedMarketplacePage.d.ts +2 -0
- package/dist/mybodyshield/pages/SharedMarketplacePage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/SharedMarketplacePage.js +193 -0
- package/dist/mybodyshield/pages/SharedMarketplacePage.js.map +1 -0
- package/dist/mybodyshield/pages/SharedMessagesPage.d.ts +2 -0
- package/dist/mybodyshield/pages/SharedMessagesPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/SharedMessagesPage.js +156 -0
- package/dist/mybodyshield/pages/SharedMessagesPage.js.map +1 -0
- package/dist/mybodyshield/pages/WellnessAssessmentsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/WellnessAssessmentsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/WellnessAssessmentsPage.js +147 -0
- package/dist/mybodyshield/pages/WellnessAssessmentsPage.js.map +1 -0
- package/dist/mybodyshield/pages/WellnessClientsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/WellnessClientsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/WellnessClientsPage.js +182 -0
- package/dist/mybodyshield/pages/WellnessClientsPage.js.map +1 -0
- package/dist/mybodyshield/pages/WellnessDashboardPage.d.ts +2 -0
- package/dist/mybodyshield/pages/WellnessDashboardPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/WellnessDashboardPage.js +136 -0
- package/dist/mybodyshield/pages/WellnessDashboardPage.js.map +1 -0
- package/dist/mybodyshield/pages/WellnessProgramsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/WellnessProgramsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/WellnessProgramsPage.js +140 -0
- package/dist/mybodyshield/pages/WellnessProgramsPage.js.map +1 -0
- package/dist/mybodyshield/providers/MyBodyShieldProvider.d.ts +6 -0
- package/dist/mybodyshield/providers/MyBodyShieldProvider.d.ts.map +1 -0
- package/dist/mybodyshield/providers/MyBodyShieldProvider.js +27 -0
- package/dist/mybodyshield/providers/MyBodyShieldProvider.js.map +1 -0
- package/dist/mybodyshield/store/mybodyshieldStore.d.ts +197 -0
- package/dist/mybodyshield/store/mybodyshieldStore.d.ts.map +1 -0
- package/dist/mybodyshield/store/mybodyshieldStore.js +710 -0
- package/dist/mybodyshield/store/mybodyshieldStore.js.map +1 -0
- package/dist/mybodyshield/types/index.d.ts +51 -0
- package/dist/mybodyshield/types/index.d.ts.map +1 -0
- package/dist/mybodyshield/utils/cn.d.ts +4 -0
- package/dist/mybodyshield/utils/cn.d.ts.map +1 -0
- package/dist/mybodyshield/utils/navigation.d.ts +2 -0
- package/dist/mybodyshield/utils/navigation.d.ts.map +1 -0
- package/dist/mybodyshield/utils/navigation.js +8 -0
- package/dist/mybodyshield/utils/navigation.js.map +1 -0
- package/package.json +107 -0
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import { AlertTriangle as e, CheckCircle as t, Clock as n, FileCheck as r, GraduationCap as i, Shield as a } from "lucide-react";
|
|
2
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
3
|
+
import { Card as c, CardContent as l, CardHeader as u, CardTitle as d } from "@burdenoff/fe-libs/ui";
|
|
4
|
+
//#region src/mybodyshield/pages/AdminComplianceReportsPage.tsx
|
|
5
|
+
var f = [
|
|
6
|
+
{
|
|
7
|
+
id: 1,
|
|
8
|
+
name: "Q4 2025 HIPAA Audit",
|
|
9
|
+
date: "2026-01-15",
|
|
10
|
+
scope: "Full Organization",
|
|
11
|
+
result: "Passed",
|
|
12
|
+
findings: 2
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
id: 2,
|
|
16
|
+
name: "Access Control Review",
|
|
17
|
+
date: "2026-01-28",
|
|
18
|
+
scope: "IT Systems",
|
|
19
|
+
result: "Passed",
|
|
20
|
+
findings: 0
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: 3,
|
|
24
|
+
name: "Patient Data Encryption Audit",
|
|
25
|
+
date: "2026-02-01",
|
|
26
|
+
scope: "Data Storage",
|
|
27
|
+
result: "Passed",
|
|
28
|
+
findings: 1
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: 4,
|
|
32
|
+
name: "PHI Breach Simulation",
|
|
33
|
+
date: "2026-02-05",
|
|
34
|
+
scope: "Incident Response",
|
|
35
|
+
result: "Conditional",
|
|
36
|
+
findings: 3
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: 5,
|
|
40
|
+
name: "Third-Party Vendor Assessment",
|
|
41
|
+
date: "2026-02-08",
|
|
42
|
+
scope: "External Partners",
|
|
43
|
+
result: "Passed",
|
|
44
|
+
findings: 1
|
|
45
|
+
}
|
|
46
|
+
], p = [
|
|
47
|
+
{
|
|
48
|
+
id: 1,
|
|
49
|
+
type: "Minor",
|
|
50
|
+
description: "Unencrypted laptop found in break room",
|
|
51
|
+
department: "Radiology",
|
|
52
|
+
reported: "2026-02-06",
|
|
53
|
+
status: "Resolving"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
id: 2,
|
|
57
|
+
type: "Minor",
|
|
58
|
+
description: "Patient record accessed without documented reason",
|
|
59
|
+
department: "Cardiology",
|
|
60
|
+
reported: "2026-02-08",
|
|
61
|
+
status: "Under Review"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
id: 3,
|
|
65
|
+
type: "Warning",
|
|
66
|
+
description: "Expired BAA with lab vendor",
|
|
67
|
+
department: "Administration",
|
|
68
|
+
reported: "2026-02-09",
|
|
69
|
+
status: "Escalated"
|
|
70
|
+
}
|
|
71
|
+
];
|
|
72
|
+
function m() {
|
|
73
|
+
return /* @__PURE__ */ s("div", {
|
|
74
|
+
className: "space-y-6 p-6",
|
|
75
|
+
children: [
|
|
76
|
+
/* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("h1", {
|
|
77
|
+
className: "text-2xl font-semibold",
|
|
78
|
+
children: "Compliance Reports"
|
|
79
|
+
}), /* @__PURE__ */ o("p", {
|
|
80
|
+
className: "text-sm text-muted-foreground",
|
|
81
|
+
children: "HIPAA compliance monitoring, audit results, and violation tracking"
|
|
82
|
+
})] }),
|
|
83
|
+
/* @__PURE__ */ s("div", {
|
|
84
|
+
className: "grid gap-4 md:grid-cols-4",
|
|
85
|
+
children: [
|
|
86
|
+
/* @__PURE__ */ s(c, { children: [/* @__PURE__ */ s(u, {
|
|
87
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
88
|
+
children: [/* @__PURE__ */ o(d, {
|
|
89
|
+
className: "text-sm font-medium",
|
|
90
|
+
children: "Compliance Score"
|
|
91
|
+
}), /* @__PURE__ */ o(a, { className: "h-4 w-4 text-green-500" })]
|
|
92
|
+
}), /* @__PURE__ */ s(l, { children: [/* @__PURE__ */ o("div", {
|
|
93
|
+
className: "text-2xl font-bold",
|
|
94
|
+
children: "98.5%"
|
|
95
|
+
}), /* @__PURE__ */ o("p", {
|
|
96
|
+
className: "text-xs text-muted-foreground",
|
|
97
|
+
children: "Above 95% threshold"
|
|
98
|
+
})] })] }),
|
|
99
|
+
/* @__PURE__ */ s(c, { children: [/* @__PURE__ */ s(u, {
|
|
100
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
101
|
+
children: [/* @__PURE__ */ o(d, {
|
|
102
|
+
className: "text-sm font-medium",
|
|
103
|
+
children: "Audits Passed"
|
|
104
|
+
}), /* @__PURE__ */ o(t, { className: "h-4 w-4 text-blue-500" })]
|
|
105
|
+
}), /* @__PURE__ */ s(l, { children: [/* @__PURE__ */ o("div", {
|
|
106
|
+
className: "text-2xl font-bold",
|
|
107
|
+
children: "24/25"
|
|
108
|
+
}), /* @__PURE__ */ o("p", {
|
|
109
|
+
className: "text-xs text-muted-foreground",
|
|
110
|
+
children: "96% pass rate this year"
|
|
111
|
+
})] })] }),
|
|
112
|
+
/* @__PURE__ */ s(c, { children: [/* @__PURE__ */ s(u, {
|
|
113
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
114
|
+
children: [/* @__PURE__ */ o(d, {
|
|
115
|
+
className: "text-sm font-medium",
|
|
116
|
+
children: "Open Violations"
|
|
117
|
+
}), /* @__PURE__ */ o(e, { className: "h-4 w-4 text-orange-500" })]
|
|
118
|
+
}), /* @__PURE__ */ s(l, { children: [/* @__PURE__ */ o("div", {
|
|
119
|
+
className: "text-2xl font-bold",
|
|
120
|
+
children: "3"
|
|
121
|
+
}), /* @__PURE__ */ o("p", {
|
|
122
|
+
className: "text-xs text-muted-foreground",
|
|
123
|
+
children: "2 minor, 1 warning"
|
|
124
|
+
})] })] }),
|
|
125
|
+
/* @__PURE__ */ s(c, { children: [/* @__PURE__ */ s(u, {
|
|
126
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
127
|
+
children: [/* @__PURE__ */ o(d, {
|
|
128
|
+
className: "text-sm font-medium",
|
|
129
|
+
children: "Training Completion"
|
|
130
|
+
}), /* @__PURE__ */ o(i, { className: "h-4 w-4 text-purple-500" })]
|
|
131
|
+
}), /* @__PURE__ */ s(l, { children: [/* @__PURE__ */ o("div", {
|
|
132
|
+
className: "text-2xl font-bold",
|
|
133
|
+
children: "94%"
|
|
134
|
+
}), /* @__PURE__ */ o("p", {
|
|
135
|
+
className: "text-xs text-muted-foreground",
|
|
136
|
+
children: "12 staff pending renewal"
|
|
137
|
+
})] })] })
|
|
138
|
+
]
|
|
139
|
+
}),
|
|
140
|
+
/* @__PURE__ */ s("div", {
|
|
141
|
+
className: "grid gap-4 md:grid-cols-2",
|
|
142
|
+
children: [/* @__PURE__ */ s(c, { children: [/* @__PURE__ */ o(u, { children: /* @__PURE__ */ s(d, {
|
|
143
|
+
className: "flex items-center gap-2",
|
|
144
|
+
children: [/* @__PURE__ */ o(r, { className: "h-5 w-5" }), "Recent Audits"]
|
|
145
|
+
}) }), /* @__PURE__ */ o(l, { children: /* @__PURE__ */ o("div", {
|
|
146
|
+
className: "space-y-3",
|
|
147
|
+
children: f.map((e) => /* @__PURE__ */ s("div", {
|
|
148
|
+
className: "flex items-center justify-between p-3 rounded-lg bg-muted/50",
|
|
149
|
+
children: [/* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("p", {
|
|
150
|
+
className: "text-sm font-medium",
|
|
151
|
+
children: e.name
|
|
152
|
+
}), /* @__PURE__ */ s("p", {
|
|
153
|
+
className: "text-xs text-muted-foreground",
|
|
154
|
+
children: [
|
|
155
|
+
e.scope,
|
|
156
|
+
" · ",
|
|
157
|
+
e.date
|
|
158
|
+
]
|
|
159
|
+
})] }), /* @__PURE__ */ s("div", {
|
|
160
|
+
className: "flex items-center gap-3",
|
|
161
|
+
children: [/* @__PURE__ */ s("span", {
|
|
162
|
+
className: "text-xs text-muted-foreground",
|
|
163
|
+
children: [
|
|
164
|
+
e.findings,
|
|
165
|
+
" finding",
|
|
166
|
+
e.findings === 1 ? "" : "s"
|
|
167
|
+
]
|
|
168
|
+
}), /* @__PURE__ */ o("span", {
|
|
169
|
+
className: `text-xs font-medium px-2 py-0.5 rounded-full ${e.result === "Passed" ? "bg-green-100 text-green-700" : "bg-yellow-100 text-yellow-700"}`,
|
|
170
|
+
children: e.result
|
|
171
|
+
})]
|
|
172
|
+
})]
|
|
173
|
+
}, e.id))
|
|
174
|
+
}) })] }), /* @__PURE__ */ s(c, { children: [/* @__PURE__ */ o(u, { children: /* @__PURE__ */ s(d, {
|
|
175
|
+
className: "flex items-center gap-2",
|
|
176
|
+
children: [/* @__PURE__ */ o(e, { className: "h-5 w-5" }), "Open Violations"]
|
|
177
|
+
}) }), /* @__PURE__ */ o(l, { children: /* @__PURE__ */ o("div", {
|
|
178
|
+
className: "space-y-3",
|
|
179
|
+
children: p.map((e) => /* @__PURE__ */ s("div", {
|
|
180
|
+
className: `p-3 rounded-lg border ${e.type === "Warning" ? "bg-orange-50 border-orange-200" : "bg-yellow-50 border-yellow-200"}`,
|
|
181
|
+
children: [
|
|
182
|
+
/* @__PURE__ */ s("div", {
|
|
183
|
+
className: "flex items-center justify-between mb-1",
|
|
184
|
+
children: [/* @__PURE__ */ o("span", {
|
|
185
|
+
className: `text-xs font-medium px-2 py-0.5 rounded-full ${e.type === "Warning" ? "bg-orange-100 text-orange-700" : "bg-yellow-100 text-yellow-700"}`,
|
|
186
|
+
children: e.type
|
|
187
|
+
}), /* @__PURE__ */ s("span", {
|
|
188
|
+
className: "text-xs text-muted-foreground flex items-center gap-1",
|
|
189
|
+
children: [/* @__PURE__ */ o(n, { className: "h-3 w-3" }), e.reported]
|
|
190
|
+
})]
|
|
191
|
+
}),
|
|
192
|
+
/* @__PURE__ */ o("p", {
|
|
193
|
+
className: "text-sm",
|
|
194
|
+
children: e.description
|
|
195
|
+
}),
|
|
196
|
+
/* @__PURE__ */ s("p", {
|
|
197
|
+
className: "text-xs text-muted-foreground mt-1",
|
|
198
|
+
children: [
|
|
199
|
+
e.department,
|
|
200
|
+
" · ",
|
|
201
|
+
e.status
|
|
202
|
+
]
|
|
203
|
+
})
|
|
204
|
+
]
|
|
205
|
+
}, e.id))
|
|
206
|
+
}) })] })]
|
|
207
|
+
})
|
|
208
|
+
]
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
//#endregion
|
|
212
|
+
export { m as AdminComplianceReportsPage };
|
|
213
|
+
|
|
214
|
+
//# sourceMappingURL=AdminComplianceReportsPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminComplianceReportsPage.js","names":[],"sources":["../../../src/mybodyshield/pages/AdminComplianceReportsPage.tsx"],"sourcesContent":["import { Card, CardContent, CardHeader, CardTitle } from '@burdenoff/fe-libs/ui';\nimport { Shield, CheckCircle, AlertTriangle, GraduationCap, FileCheck, Clock } from 'lucide-react';\n\nconst recentAudits = [\n {\n id: 1,\n name: 'Q4 2025 HIPAA Audit',\n date: '2026-01-15',\n scope: 'Full Organization',\n result: 'Passed',\n findings: 2,\n },\n {\n id: 2,\n name: 'Access Control Review',\n date: '2026-01-28',\n scope: 'IT Systems',\n result: 'Passed',\n findings: 0,\n },\n {\n id: 3,\n name: 'Patient Data Encryption Audit',\n date: '2026-02-01',\n scope: 'Data Storage',\n result: 'Passed',\n findings: 1,\n },\n {\n id: 4,\n name: 'PHI Breach Simulation',\n date: '2026-02-05',\n scope: 'Incident Response',\n result: 'Conditional',\n findings: 3,\n },\n {\n id: 5,\n name: 'Third-Party Vendor Assessment',\n date: '2026-02-08',\n scope: 'External Partners',\n result: 'Passed',\n findings: 1,\n },\n];\n\nconst violations = [\n {\n id: 1,\n type: 'Minor',\n description: 'Unencrypted laptop found in break room',\n department: 'Radiology',\n reported: '2026-02-06',\n status: 'Resolving',\n },\n {\n id: 2,\n type: 'Minor',\n description: 'Patient record accessed without documented reason',\n department: 'Cardiology',\n reported: '2026-02-08',\n status: 'Under Review',\n },\n {\n id: 3,\n type: 'Warning',\n description: 'Expired BAA with lab vendor',\n department: 'Administration',\n reported: '2026-02-09',\n status: 'Escalated',\n },\n];\n\nexport function AdminComplianceReportsPage() {\n return (\n <div className=\"space-y-6 p-6\">\n <div>\n <h1 className=\"text-2xl font-semibold\">Compliance Reports</h1>\n <p className=\"text-sm text-muted-foreground\">\n HIPAA compliance monitoring, audit results, and violation tracking\n </p>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-4\">\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Compliance Score</CardTitle>\n <Shield className=\"h-4 w-4 text-green-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">98.5%</div>\n <p className=\"text-xs text-muted-foreground\">Above 95% threshold</p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Audits Passed</CardTitle>\n <CheckCircle className=\"h-4 w-4 text-blue-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">24/25</div>\n <p className=\"text-xs text-muted-foreground\">96% pass rate this year</p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Open Violations</CardTitle>\n <AlertTriangle className=\"h-4 w-4 text-orange-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">3</div>\n <p className=\"text-xs text-muted-foreground\">2 minor, 1 warning</p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Training Completion</CardTitle>\n <GraduationCap className=\"h-4 w-4 text-purple-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">94%</div>\n <p className=\"text-xs text-muted-foreground\">12 staff pending renewal</p>\n </CardContent>\n </Card>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-2\">\n <Card>\n <CardHeader>\n <CardTitle className=\"flex items-center gap-2\">\n <FileCheck className=\"h-5 w-5\" />\n Recent Audits\n </CardTitle>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-3\">\n {recentAudits.map((audit) => (\n <div\n key={audit.id}\n className=\"flex items-center justify-between p-3 rounded-lg bg-muted/50\"\n >\n <div>\n <p className=\"text-sm font-medium\">{audit.name}</p>\n <p className=\"text-xs text-muted-foreground\">\n {audit.scope} · {audit.date}\n </p>\n </div>\n <div className=\"flex items-center gap-3\">\n <span className=\"text-xs text-muted-foreground\">\n {audit.findings} finding{audit.findings !== 1 ? 's' : ''}\n </span>\n <span\n className={`text-xs font-medium px-2 py-0.5 rounded-full ${audit.result === 'Passed' ? 'bg-green-100 text-green-700' : 'bg-yellow-100 text-yellow-700'}`}\n >\n {audit.result}\n </span>\n </div>\n </div>\n ))}\n </div>\n </CardContent>\n </Card>\n <Card>\n <CardHeader>\n <CardTitle className=\"flex items-center gap-2\">\n <AlertTriangle className=\"h-5 w-5\" />\n Open Violations\n </CardTitle>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-3\">\n {violations.map((v) => (\n <div\n key={v.id}\n className={`p-3 rounded-lg border ${v.type === 'Warning' ? 'bg-orange-50 border-orange-200' : 'bg-yellow-50 border-yellow-200'}`}\n >\n <div className=\"flex items-center justify-between mb-1\">\n <span\n className={`text-xs font-medium px-2 py-0.5 rounded-full ${v.type === 'Warning' ? 'bg-orange-100 text-orange-700' : 'bg-yellow-100 text-yellow-700'}`}\n >\n {v.type}\n </span>\n <span className=\"text-xs text-muted-foreground flex items-center gap-1\">\n <Clock className=\"h-3 w-3\" />\n {v.reported}\n </span>\n </div>\n <p className=\"text-sm\">{v.description}</p>\n <p className=\"text-xs text-muted-foreground mt-1\">\n {v.department} · {v.status}\n </p>\n </div>\n ))}\n </div>\n </CardContent>\n </Card>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminDashboardPage.d.ts","sourceRoot":"","sources":["../../../src/mybodyshield/pages/AdminDashboardPage.tsx"],"names":[],"mappings":"AAoEA,wBAAgB,kBAAkB,4CA+IjC"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { useMyBodyShieldStore as e } from "../store/mybodyshieldStore.js";
|
|
2
|
+
import { useI18n as t } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
3
|
+
import { Activity as n, AlertCircle as r, Calendar as i, Clock as a, DollarSign as o, Shield as s, TrendingUp as c, Users as l } from "lucide-react";
|
|
4
|
+
import { jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
5
|
+
import { Card as f, CardContent as p, CardHeader as m, CardTitle as h } from "@burdenoff/fe-libs/ui";
|
|
6
|
+
//#region src/mybodyshield/pages/AdminDashboardPage.tsx
|
|
7
|
+
var g = [
|
|
8
|
+
{
|
|
9
|
+
user: "Dr. Sarah Johnson",
|
|
10
|
+
action: "completed appointment with Sarah J.",
|
|
11
|
+
time: "5 min ago",
|
|
12
|
+
type: "success"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
user: "John Smith",
|
|
16
|
+
action: "registered as new patient",
|
|
17
|
+
time: "12 min ago",
|
|
18
|
+
type: "info"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
user: "Emily Davis",
|
|
22
|
+
action: "booked urgent appointment",
|
|
23
|
+
time: "28 min ago",
|
|
24
|
+
type: "warning"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
user: "Dr. Michael Chen",
|
|
28
|
+
action: "updated patient records",
|
|
29
|
+
time: "45 min ago",
|
|
30
|
+
type: "success"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
user: "Admin System",
|
|
34
|
+
action: "generated monthly compliance report",
|
|
35
|
+
time: "1 hour ago",
|
|
36
|
+
type: "info"
|
|
37
|
+
}
|
|
38
|
+
], _ = [
|
|
39
|
+
{
|
|
40
|
+
id: 1,
|
|
41
|
+
title: "HIPAA Audit Scheduled",
|
|
42
|
+
message: "Quarterly compliance audit on Feb 28",
|
|
43
|
+
severity: "info"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: 2,
|
|
47
|
+
title: "High Patient Volume",
|
|
48
|
+
message: "Appointment bookings up 23% this week",
|
|
49
|
+
severity: "warning"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
id: 3,
|
|
53
|
+
title: "Backup Completed",
|
|
54
|
+
message: "Patient data backup successful",
|
|
55
|
+
severity: "success"
|
|
56
|
+
}
|
|
57
|
+
];
|
|
58
|
+
function v() {
|
|
59
|
+
let { t: v } = t(), y = (e, t) => {
|
|
60
|
+
let n = v(e);
|
|
61
|
+
return n === e ? t : n;
|
|
62
|
+
}, { patients: b, appointments: x } = e(), S = b.length, C = x.filter((e) => e.status !== "cancelled").length;
|
|
63
|
+
return /* @__PURE__ */ d("div", {
|
|
64
|
+
className: "space-y-6 p-6",
|
|
65
|
+
children: [
|
|
66
|
+
/* @__PURE__ */ u("div", {
|
|
67
|
+
className: "flex items-center justify-between",
|
|
68
|
+
children: /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("h1", {
|
|
69
|
+
className: "text-2xl font-semibold",
|
|
70
|
+
children: y("mybodyshield.adminDashboard.title", "Admin Dashboard")
|
|
71
|
+
}), /* @__PURE__ */ u("p", {
|
|
72
|
+
className: "text-sm text-muted-foreground",
|
|
73
|
+
children: y("mybodyshield.adminDashboard.description", "Platform health overview and system metrics")
|
|
74
|
+
})] })
|
|
75
|
+
}),
|
|
76
|
+
/* @__PURE__ */ d("div", {
|
|
77
|
+
className: "grid gap-4 md:grid-cols-2 lg:grid-cols-4",
|
|
78
|
+
children: [
|
|
79
|
+
/* @__PURE__ */ d(f, { children: [/* @__PURE__ */ d(m, {
|
|
80
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
81
|
+
children: [/* @__PURE__ */ u(h, {
|
|
82
|
+
className: "text-sm font-medium",
|
|
83
|
+
children: y("mybodyshield.adminDashboard.stats.totalPatients", "Total Patients")
|
|
84
|
+
}), /* @__PURE__ */ u(l, { className: "h-4 w-4 text-blue-500" })]
|
|
85
|
+
}), /* @__PURE__ */ d(p, { children: [/* @__PURE__ */ u("div", {
|
|
86
|
+
className: "text-2xl font-bold",
|
|
87
|
+
children: S.toLocaleString()
|
|
88
|
+
}), /* @__PURE__ */ u("p", {
|
|
89
|
+
className: "text-xs text-muted-foreground",
|
|
90
|
+
children: y("mybodyshield.adminDashboard.stats.totalPatientsHint", "+12.5% from last month")
|
|
91
|
+
})] })] }),
|
|
92
|
+
/* @__PURE__ */ d(f, { children: [/* @__PURE__ */ d(m, {
|
|
93
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
94
|
+
children: [/* @__PURE__ */ u(h, {
|
|
95
|
+
className: "text-sm font-medium",
|
|
96
|
+
children: y("mybodyshield.adminDashboard.stats.appointmentsToday", "Appointments Today")
|
|
97
|
+
}), /* @__PURE__ */ u(i, { className: "h-4 w-4 text-green-500" })]
|
|
98
|
+
}), /* @__PURE__ */ d(p, { children: [/* @__PURE__ */ u("div", {
|
|
99
|
+
className: "text-2xl font-bold",
|
|
100
|
+
children: C
|
|
101
|
+
}), /* @__PURE__ */ u("p", {
|
|
102
|
+
className: "text-xs text-muted-foreground",
|
|
103
|
+
children: y("mybodyshield.adminDashboard.stats.appointmentsTodayHint", "Active scheduling across all departments")
|
|
104
|
+
})] })] }),
|
|
105
|
+
/* @__PURE__ */ d(f, { children: [/* @__PURE__ */ d(m, {
|
|
106
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
107
|
+
children: [/* @__PURE__ */ u(h, {
|
|
108
|
+
className: "text-sm font-medium",
|
|
109
|
+
children: y("mybodyshield.adminDashboard.stats.monthlyRevenue", "Monthly Revenue")
|
|
110
|
+
}), /* @__PURE__ */ u(o, { className: "h-4 w-4 text-emerald-500" })]
|
|
111
|
+
}), /* @__PURE__ */ d(p, { children: [/* @__PURE__ */ u("div", {
|
|
112
|
+
className: "text-2xl font-bold",
|
|
113
|
+
children: "$52.3K"
|
|
114
|
+
}), /* @__PURE__ */ u("p", {
|
|
115
|
+
className: "text-xs text-muted-foreground",
|
|
116
|
+
children: y("mybodyshield.adminDashboard.stats.monthlyRevenueHint", "+22.1% from last month")
|
|
117
|
+
})] })] }),
|
|
118
|
+
/* @__PURE__ */ d(f, { children: [/* @__PURE__ */ d(m, {
|
|
119
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
120
|
+
children: [/* @__PURE__ */ u(h, {
|
|
121
|
+
className: "text-sm font-medium",
|
|
122
|
+
children: y("mybodyshield.adminDashboard.stats.hipaaCompliance", "HIPAA Compliance")
|
|
123
|
+
}), /* @__PURE__ */ u(s, { className: "h-4 w-4 text-purple-500" })]
|
|
124
|
+
}), /* @__PURE__ */ d(p, { children: [/* @__PURE__ */ u("div", {
|
|
125
|
+
className: "text-2xl font-bold",
|
|
126
|
+
children: "98.5%"
|
|
127
|
+
}), /* @__PURE__ */ u("p", {
|
|
128
|
+
className: "text-xs text-muted-foreground",
|
|
129
|
+
children: y("mybodyshield.adminDashboard.stats.hipaaComplianceHint", "All systems compliant")
|
|
130
|
+
})] })] })
|
|
131
|
+
]
|
|
132
|
+
}),
|
|
133
|
+
/* @__PURE__ */ d("div", {
|
|
134
|
+
className: "grid gap-4 md:grid-cols-7",
|
|
135
|
+
children: [/* @__PURE__ */ d(f, {
|
|
136
|
+
className: "col-span-4",
|
|
137
|
+
children: [/* @__PURE__ */ u(m, { children: /* @__PURE__ */ u(h, { children: y("mybodyshield.adminDashboard.sections.recentActivity", "Recent Activity") }) }), /* @__PURE__ */ u(p, {
|
|
138
|
+
className: "space-y-4",
|
|
139
|
+
children: g.map((e, t) => /* @__PURE__ */ d("div", {
|
|
140
|
+
className: "flex items-start gap-3",
|
|
141
|
+
children: [/* @__PURE__ */ u("div", {
|
|
142
|
+
className: `p-1.5 rounded-full ${e.type === "success" ? "bg-green-100" : e.type === "warning" ? "bg-orange-100" : "bg-blue-100"}`,
|
|
143
|
+
children: e.type === "success" ? /* @__PURE__ */ u(n, { className: "h-3 w-3 text-green-600" }) : e.type === "warning" ? /* @__PURE__ */ u(r, { className: "h-3 w-3 text-orange-600" }) : /* @__PURE__ */ u(c, { className: "h-3 w-3 text-blue-600" })
|
|
144
|
+
}), /* @__PURE__ */ d("div", {
|
|
145
|
+
className: "flex-1",
|
|
146
|
+
children: [/* @__PURE__ */ d("p", {
|
|
147
|
+
className: "text-sm",
|
|
148
|
+
children: [
|
|
149
|
+
/* @__PURE__ */ u("span", {
|
|
150
|
+
className: "font-medium",
|
|
151
|
+
children: e.user
|
|
152
|
+
}),
|
|
153
|
+
" ",
|
|
154
|
+
e.action
|
|
155
|
+
]
|
|
156
|
+
}), /* @__PURE__ */ d("p", {
|
|
157
|
+
className: "text-xs text-muted-foreground flex items-center gap-1",
|
|
158
|
+
children: [/* @__PURE__ */ u(a, { className: "h-3 w-3" }), e.time]
|
|
159
|
+
})]
|
|
160
|
+
})]
|
|
161
|
+
}, t))
|
|
162
|
+
})]
|
|
163
|
+
}), /* @__PURE__ */ d(f, {
|
|
164
|
+
className: "col-span-3",
|
|
165
|
+
children: [/* @__PURE__ */ u(m, { children: /* @__PURE__ */ u(h, { children: y("mybodyshield.adminDashboard.sections.systemAlerts", "System Alerts") }) }), /* @__PURE__ */ u(p, {
|
|
166
|
+
className: "space-y-3",
|
|
167
|
+
children: _.map((e) => /* @__PURE__ */ d("div", {
|
|
168
|
+
className: `p-3 rounded-lg border ${e.severity === "success" ? "bg-green-50 border-green-200" : e.severity === "warning" ? "bg-orange-50 border-orange-200" : "bg-blue-50 border-blue-200"}`,
|
|
169
|
+
children: [/* @__PURE__ */ u("p", {
|
|
170
|
+
className: "text-sm font-medium",
|
|
171
|
+
children: e.title
|
|
172
|
+
}), /* @__PURE__ */ u("p", {
|
|
173
|
+
className: "text-xs text-muted-foreground mt-1",
|
|
174
|
+
children: e.message
|
|
175
|
+
})]
|
|
176
|
+
}, e.id))
|
|
177
|
+
})]
|
|
178
|
+
})]
|
|
179
|
+
})
|
|
180
|
+
]
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
//#endregion
|
|
184
|
+
export { v as AdminDashboardPage };
|
|
185
|
+
|
|
186
|
+
//# sourceMappingURL=AdminDashboardPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminDashboardPage.js","names":[],"sources":["../../../src/mybodyshield/pages/AdminDashboardPage.tsx"],"sourcesContent":["import { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { Card, CardContent, CardHeader, CardTitle } from '@burdenoff/fe-libs/ui';\nimport {\n Activity,\n Calendar,\n DollarSign,\n Users,\n TrendingUp,\n AlertCircle,\n Shield,\n Clock,\n} from 'lucide-react';\nimport { useMyBodyShieldStore } from '../store/mybodyshieldStore';\n\nconst recentActivities = [\n {\n user: 'Dr. Sarah Johnson',\n action: 'completed appointment with Sarah J.',\n time: '5 min ago',\n type: 'success' as const,\n },\n {\n user: 'John Smith',\n action: 'registered as new patient',\n time: '12 min ago',\n type: 'info' as const,\n },\n {\n user: 'Emily Davis',\n action: 'booked urgent appointment',\n time: '28 min ago',\n type: 'warning' as const,\n },\n {\n user: 'Dr. Michael Chen',\n action: 'updated patient records',\n time: '45 min ago',\n type: 'success' as const,\n },\n {\n user: 'Admin System',\n action: 'generated monthly compliance report',\n time: '1 hour ago',\n type: 'info' as const,\n },\n];\n\nconst systemAlerts = [\n {\n id: 1,\n title: 'HIPAA Audit Scheduled',\n message: 'Quarterly compliance audit on Feb 28',\n severity: 'info',\n },\n {\n id: 2,\n title: 'High Patient Volume',\n message: 'Appointment bookings up 23% this week',\n severity: 'warning',\n },\n {\n id: 3,\n title: 'Backup Completed',\n message: 'Patient data backup successful',\n severity: 'success',\n },\n];\n\nexport function AdminDashboardPage() {\n const { t: translate } = useI18n();\n const t = (key: string, fallback: string): string => {\n const value = translate(key);\n return value === key ? fallback : value;\n };\n const { patients, appointments } = useMyBodyShieldStore();\n const activePatients = patients.length;\n const todayAppointments = appointments.filter((a) => a.status !== 'cancelled').length;\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"text-2xl font-semibold\">\n {t('mybodyshield.adminDashboard.title', 'Admin Dashboard')}\n </h1>\n <p className=\"text-sm text-muted-foreground\">\n {t(\n 'mybodyshield.adminDashboard.description',\n 'Platform health overview and system metrics'\n )}\n </p>\n </div>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-2 lg:grid-cols-4\">\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">\n {t('mybodyshield.adminDashboard.stats.totalPatients', 'Total Patients')}\n </CardTitle>\n <Users className=\"h-4 w-4 text-blue-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{activePatients.toLocaleString()}</div>\n <p className=\"text-xs text-muted-foreground\">\n {t('mybodyshield.adminDashboard.stats.totalPatientsHint', '+12.5% from last month')}\n </p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">\n {t('mybodyshield.adminDashboard.stats.appointmentsToday', 'Appointments Today')}\n </CardTitle>\n <Calendar className=\"h-4 w-4 text-green-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{todayAppointments}</div>\n <p className=\"text-xs text-muted-foreground\">\n {t(\n 'mybodyshield.adminDashboard.stats.appointmentsTodayHint',\n 'Active scheduling across all departments'\n )}\n </p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">\n {t('mybodyshield.adminDashboard.stats.monthlyRevenue', 'Monthly Revenue')}\n </CardTitle>\n <DollarSign className=\"h-4 w-4 text-emerald-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">$52.3K</div>\n <p className=\"text-xs text-muted-foreground\">\n {t('mybodyshield.adminDashboard.stats.monthlyRevenueHint', '+22.1% from last month')}\n </p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">\n {t('mybodyshield.adminDashboard.stats.hipaaCompliance', 'HIPAA Compliance')}\n </CardTitle>\n <Shield className=\"h-4 w-4 text-purple-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">98.5%</div>\n <p className=\"text-xs text-muted-foreground\">\n {t('mybodyshield.adminDashboard.stats.hipaaComplianceHint', 'All systems compliant')}\n </p>\n </CardContent>\n </Card>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-7\">\n <Card className=\"col-span-4\">\n <CardHeader>\n <CardTitle>\n {t('mybodyshield.adminDashboard.sections.recentActivity', 'Recent Activity')}\n </CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n {recentActivities.map((item, i) => (\n <div key={i} className=\"flex items-start gap-3\">\n <div\n className={`p-1.5 rounded-full ${item.type === 'success' ? 'bg-green-100' : item.type === 'warning' ? 'bg-orange-100' : 'bg-blue-100'}`}\n >\n {item.type === 'success' ? (\n <Activity className=\"h-3 w-3 text-green-600\" />\n ) : item.type === 'warning' ? (\n <AlertCircle className=\"h-3 w-3 text-orange-600\" />\n ) : (\n <TrendingUp className=\"h-3 w-3 text-blue-600\" />\n )}\n </div>\n <div className=\"flex-1\">\n <p className=\"text-sm\">\n <span className=\"font-medium\">{item.user}</span> {item.action}\n </p>\n <p className=\"text-xs text-muted-foreground flex items-center gap-1\">\n <Clock className=\"h-3 w-3\" />\n {item.time}\n </p>\n </div>\n </div>\n ))}\n </CardContent>\n </Card>\n <Card className=\"col-span-3\">\n <CardHeader>\n <CardTitle>\n {t('mybodyshield.adminDashboard.sections.systemAlerts', 'System Alerts')}\n </CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n {systemAlerts.map((alert) => (\n <div\n key={alert.id}\n className={`p-3 rounded-lg border ${alert.severity === 'success' ? 'bg-green-50 border-green-200' : alert.severity === 'warning' ? 'bg-orange-50 border-orange-200' : 'bg-blue-50 border-blue-200'}`}\n >\n <p className=\"text-sm font-medium\">{alert.title}</p>\n <p className=\"text-xs text-muted-foreground mt-1\">{alert.message}</p>\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminOrganizationManagementPage.d.ts","sourceRoot":"","sources":["../../../src/mybodyshield/pages/AdminOrganizationManagementPage.tsx"],"names":[],"mappings":"AAqFA,wBAAgB,+BAA+B,4CA6G9C"}
|