@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 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderReportsPage.d.ts","sourceRoot":"","sources":["../../../src/mybodyshield/pages/ProviderReportsPage.tsx"],"names":[],"mappings":"AA8CA,wBAAgB,mBAAmB,4CAsFlC"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { Award as e, Clock as t, FileBarChart as n, TrendingUp as r } from "lucide-react";
|
|
2
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
3
|
+
import { Card as o, CardContent as s, CardHeader as c, CardTitle as l } from "@burdenoff/fe-libs/ui";
|
|
4
|
+
//#region src/mybodyshield/pages/ProviderReportsPage.tsx
|
|
5
|
+
var u = [
|
|
6
|
+
{
|
|
7
|
+
id: 1,
|
|
8
|
+
name: "Patient Visit Summary",
|
|
9
|
+
description: "Comprehensive visit documentation with assessments",
|
|
10
|
+
lastGenerated: "2026-02-10",
|
|
11
|
+
status: "Ready",
|
|
12
|
+
count: 18
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
id: 2,
|
|
16
|
+
name: "Lab Results Report",
|
|
17
|
+
description: "Aggregated lab results with trending analysis",
|
|
18
|
+
lastGenerated: "2026-02-09",
|
|
19
|
+
status: "Ready",
|
|
20
|
+
count: 12
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: 3,
|
|
24
|
+
name: "Medication Reconciliation",
|
|
25
|
+
description: "Current medication list with interaction checks",
|
|
26
|
+
lastGenerated: "2026-02-08",
|
|
27
|
+
status: "Ready",
|
|
28
|
+
count: 8
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: 4,
|
|
32
|
+
name: "Care Plan Progress",
|
|
33
|
+
description: "Treatment plan outcomes and goal tracking",
|
|
34
|
+
lastGenerated: "2026-02-07",
|
|
35
|
+
status: "Ready",
|
|
36
|
+
count: 6
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: 5,
|
|
40
|
+
name: "Referral Summary",
|
|
41
|
+
description: "Outgoing and incoming referral documentation",
|
|
42
|
+
lastGenerated: "2026-02-05",
|
|
43
|
+
status: "Pending",
|
|
44
|
+
count: 4
|
|
45
|
+
}
|
|
46
|
+
];
|
|
47
|
+
function d() {
|
|
48
|
+
return /* @__PURE__ */ a("div", {
|
|
49
|
+
className: "space-y-6 p-6",
|
|
50
|
+
children: [
|
|
51
|
+
/* @__PURE__ */ a("div", { children: [/* @__PURE__ */ i("h1", {
|
|
52
|
+
className: "text-2xl font-semibold",
|
|
53
|
+
children: "Clinical Reports"
|
|
54
|
+
}), /* @__PURE__ */ i("p", {
|
|
55
|
+
className: "text-sm text-muted-foreground",
|
|
56
|
+
children: "Generate and view clinical documentation and analytics"
|
|
57
|
+
})] }),
|
|
58
|
+
/* @__PURE__ */ a("div", {
|
|
59
|
+
className: "grid gap-4 md:grid-cols-4",
|
|
60
|
+
children: [
|
|
61
|
+
/* @__PURE__ */ a(o, { children: [/* @__PURE__ */ a(c, {
|
|
62
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
63
|
+
children: [/* @__PURE__ */ i(l, {
|
|
64
|
+
className: "text-sm font-medium",
|
|
65
|
+
children: "Reports Generated"
|
|
66
|
+
}), /* @__PURE__ */ i(n, { className: "h-4 w-4 text-blue-500" })]
|
|
67
|
+
}), /* @__PURE__ */ a(s, { children: [/* @__PURE__ */ i("div", {
|
|
68
|
+
className: "text-2xl font-bold",
|
|
69
|
+
children: "48"
|
|
70
|
+
}), /* @__PURE__ */ i("p", {
|
|
71
|
+
className: "text-xs text-muted-foreground",
|
|
72
|
+
children: "This month"
|
|
73
|
+
})] })] }),
|
|
74
|
+
/* @__PURE__ */ a(o, { children: [/* @__PURE__ */ a(c, {
|
|
75
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
76
|
+
children: [/* @__PURE__ */ i(l, {
|
|
77
|
+
className: "text-sm font-medium",
|
|
78
|
+
children: "Patient Outcomes"
|
|
79
|
+
}), /* @__PURE__ */ i(r, { className: "h-4 w-4 text-green-500" })]
|
|
80
|
+
}), /* @__PURE__ */ a(s, { children: [/* @__PURE__ */ i("div", {
|
|
81
|
+
className: "text-2xl font-bold",
|
|
82
|
+
children: "92%"
|
|
83
|
+
}), /* @__PURE__ */ i("p", {
|
|
84
|
+
className: "text-xs text-muted-foreground",
|
|
85
|
+
children: "Positive outcomes"
|
|
86
|
+
})] })] }),
|
|
87
|
+
/* @__PURE__ */ a(o, { children: [/* @__PURE__ */ a(c, {
|
|
88
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
89
|
+
children: [/* @__PURE__ */ i(l, {
|
|
90
|
+
className: "text-sm font-medium",
|
|
91
|
+
children: "Avg Visit Duration"
|
|
92
|
+
}), /* @__PURE__ */ i(t, { className: "h-4 w-4 text-purple-500" })]
|
|
93
|
+
}), /* @__PURE__ */ a(s, { children: [/* @__PURE__ */ i("div", {
|
|
94
|
+
className: "text-2xl font-bold",
|
|
95
|
+
children: "28 min"
|
|
96
|
+
}), /* @__PURE__ */ i("p", {
|
|
97
|
+
className: "text-xs text-muted-foreground",
|
|
98
|
+
children: "Per encounter"
|
|
99
|
+
})] })] }),
|
|
100
|
+
/* @__PURE__ */ a(o, { children: [/* @__PURE__ */ a(c, {
|
|
101
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
102
|
+
children: [/* @__PURE__ */ i(l, {
|
|
103
|
+
className: "text-sm font-medium",
|
|
104
|
+
children: "Documentation Score"
|
|
105
|
+
}), /* @__PURE__ */ i(e, { className: "h-4 w-4 text-amber-500" })]
|
|
106
|
+
}), /* @__PURE__ */ a(s, { children: [/* @__PURE__ */ i("div", {
|
|
107
|
+
className: "text-2xl font-bold",
|
|
108
|
+
children: "96%"
|
|
109
|
+
}), /* @__PURE__ */ i("p", {
|
|
110
|
+
className: "text-xs text-muted-foreground",
|
|
111
|
+
children: "Completeness rating"
|
|
112
|
+
})] })] })
|
|
113
|
+
]
|
|
114
|
+
}),
|
|
115
|
+
/* @__PURE__ */ a(o, { children: [/* @__PURE__ */ i(c, { children: /* @__PURE__ */ i(l, { children: "Report Types" }) }), /* @__PURE__ */ i(s, { children: /* @__PURE__ */ i("div", {
|
|
116
|
+
className: "space-y-3",
|
|
117
|
+
children: u.map((e) => /* @__PURE__ */ a("div", {
|
|
118
|
+
className: "flex items-center justify-between p-3 rounded-lg bg-muted/50",
|
|
119
|
+
children: [/* @__PURE__ */ a("div", { children: [/* @__PURE__ */ i("p", {
|
|
120
|
+
className: "text-sm font-medium",
|
|
121
|
+
children: e.name
|
|
122
|
+
}), /* @__PURE__ */ i("p", {
|
|
123
|
+
className: "text-xs text-muted-foreground",
|
|
124
|
+
children: e.description
|
|
125
|
+
})] }), /* @__PURE__ */ a("div", {
|
|
126
|
+
className: "flex items-center gap-3",
|
|
127
|
+
children: [/* @__PURE__ */ a("div", {
|
|
128
|
+
className: "text-right",
|
|
129
|
+
children: [/* @__PURE__ */ a("p", {
|
|
130
|
+
className: "text-xs text-muted-foreground",
|
|
131
|
+
children: ["Last: ", e.lastGenerated]
|
|
132
|
+
}), /* @__PURE__ */ a("p", {
|
|
133
|
+
className: "text-xs text-muted-foreground",
|
|
134
|
+
children: [e.count, " reports"]
|
|
135
|
+
})]
|
|
136
|
+
}), /* @__PURE__ */ i("span", {
|
|
137
|
+
className: `text-xs font-medium px-2 py-0.5 rounded-full ${e.status === "Ready" ? "bg-green-100 text-green-700" : "bg-yellow-100 text-yellow-700"}`,
|
|
138
|
+
children: e.status
|
|
139
|
+
})]
|
|
140
|
+
})]
|
|
141
|
+
}, e.id))
|
|
142
|
+
}) })] })
|
|
143
|
+
]
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
//#endregion
|
|
147
|
+
export { d as ProviderReportsPage };
|
|
148
|
+
|
|
149
|
+
//# sourceMappingURL=ProviderReportsPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderReportsPage.js","names":[],"sources":["../../../src/mybodyshield/pages/ProviderReportsPage.tsx"],"sourcesContent":["import { Card, CardContent, CardHeader, CardTitle } from '@burdenoff/fe-libs/ui';\nimport { FileBarChart, TrendingUp, Clock, Award } from 'lucide-react';\n\nconst reportTypes = [\n {\n id: 1,\n name: 'Patient Visit Summary',\n description: 'Comprehensive visit documentation with assessments',\n lastGenerated: '2026-02-10',\n status: 'Ready',\n count: 18,\n },\n {\n id: 2,\n name: 'Lab Results Report',\n description: 'Aggregated lab results with trending analysis',\n lastGenerated: '2026-02-09',\n status: 'Ready',\n count: 12,\n },\n {\n id: 3,\n name: 'Medication Reconciliation',\n description: 'Current medication list with interaction checks',\n lastGenerated: '2026-02-08',\n status: 'Ready',\n count: 8,\n },\n {\n id: 4,\n name: 'Care Plan Progress',\n description: 'Treatment plan outcomes and goal tracking',\n lastGenerated: '2026-02-07',\n status: 'Ready',\n count: 6,\n },\n {\n id: 5,\n name: 'Referral Summary',\n description: 'Outgoing and incoming referral documentation',\n lastGenerated: '2026-02-05',\n status: 'Pending',\n count: 4,\n },\n];\n\nexport function ProviderReportsPage() {\n return (\n <div className=\"space-y-6 p-6\">\n <div>\n <h1 className=\"text-2xl font-semibold\">Clinical Reports</h1>\n <p className=\"text-sm text-muted-foreground\">\n Generate and view clinical documentation and analytics\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\">Reports Generated</CardTitle>\n <FileBarChart className=\"h-4 w-4 text-blue-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">48</div>\n <p className=\"text-xs text-muted-foreground\">This month</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\">Patient Outcomes</CardTitle>\n <TrendingUp className=\"h-4 w-4 text-green-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">92%</div>\n <p className=\"text-xs text-muted-foreground\">Positive outcomes</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\">Avg Visit Duration</CardTitle>\n <Clock className=\"h-4 w-4 text-purple-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">28 min</div>\n <p className=\"text-xs text-muted-foreground\">Per encounter</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\">Documentation Score</CardTitle>\n <Award className=\"h-4 w-4 text-amber-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">96%</div>\n <p className=\"text-xs text-muted-foreground\">Completeness rating</p>\n </CardContent>\n </Card>\n </div>\n\n <Card>\n <CardHeader>\n <CardTitle>Report Types</CardTitle>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-3\">\n {reportTypes.map((report) => (\n <div\n key={report.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\">{report.name}</p>\n <p className=\"text-xs text-muted-foreground\">{report.description}</p>\n </div>\n <div className=\"flex items-center gap-3\">\n <div className=\"text-right\">\n <p className=\"text-xs text-muted-foreground\">Last: {report.lastGenerated}</p>\n <p className=\"text-xs text-muted-foreground\">{report.count} reports</p>\n </div>\n <span\n className={`text-xs font-medium px-2 py-0.5 rounded-full ${report.status === 'Ready' ? 'bg-green-100 text-green-700' : 'bg-yellow-100 text-yellow-700'}`}\n >\n {report.status}\n </span>\n </div>\n </div>\n ))}\n </div>\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SharedAppointmentsPage.d.ts","sourceRoot":"","sources":["../../../src/mybodyshield/pages/SharedAppointmentsPage.tsx"],"names":[],"mappings":"AAKA,wBAAgB,sBAAsB,4CAwIrC"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { useMyBodyShieldStore as e } from "../store/mybodyshieldStore.js";
|
|
2
|
+
import { useI18n as t } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
3
|
+
import { Calendar as n, CheckCircle as r, Clock as i, Users as a } from "lucide-react";
|
|
4
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
5
|
+
import { Card as c, CardContent as l, CardHeader as u, CardTitle as d } from "@burdenoff/fe-libs/ui";
|
|
6
|
+
//#region src/mybodyshield/pages/SharedAppointmentsPage.tsx
|
|
7
|
+
function f() {
|
|
8
|
+
let { t: f } = t(), p = (e, t) => {
|
|
9
|
+
let n = f(e);
|
|
10
|
+
return n === e ? t : n;
|
|
11
|
+
}, { appointments: m } = e(), h = m.filter((e) => e.status === "confirmed").length, g = m.filter((e) => e.status === "pending").length, _ = m.filter((e) => e.status === "completed").length, v = (e) => {
|
|
12
|
+
switch (e) {
|
|
13
|
+
case "confirmed": return p("mybodyshield.sharedAppointments.status.confirmed", "confirmed");
|
|
14
|
+
case "pending": return p("mybodyshield.sharedAppointments.status.pending", "pending");
|
|
15
|
+
case "completed": return p("mybodyshield.sharedAppointments.status.completed", "completed");
|
|
16
|
+
case "cancelled": return p("mybodyshield.sharedAppointments.status.cancelled", "cancelled");
|
|
17
|
+
default: return e;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
return /* @__PURE__ */ s("div", {
|
|
21
|
+
className: "space-y-6 p-6",
|
|
22
|
+
children: [
|
|
23
|
+
/* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("h1", {
|
|
24
|
+
className: "text-2xl font-semibold",
|
|
25
|
+
children: p("mybodyshield.sharedAppointments.title", "Appointments")
|
|
26
|
+
}), /* @__PURE__ */ o("p", {
|
|
27
|
+
className: "text-sm text-muted-foreground",
|
|
28
|
+
children: p("mybodyshield.sharedAppointments.description", "System-wide appointment scheduling and management")
|
|
29
|
+
})] }),
|
|
30
|
+
/* @__PURE__ */ s("div", {
|
|
31
|
+
className: "grid gap-4 md:grid-cols-4",
|
|
32
|
+
children: [
|
|
33
|
+
/* @__PURE__ */ s(c, { children: [/* @__PURE__ */ s(u, {
|
|
34
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
35
|
+
children: [/* @__PURE__ */ o(d, {
|
|
36
|
+
className: "text-sm font-medium",
|
|
37
|
+
children: p("mybodyshield.sharedAppointments.stats.allAppointments", "All Appointments")
|
|
38
|
+
}), /* @__PURE__ */ o(n, { className: "h-4 w-4 text-blue-500" })]
|
|
39
|
+
}), /* @__PURE__ */ s(l, { children: [/* @__PURE__ */ o("div", {
|
|
40
|
+
className: "text-2xl font-bold",
|
|
41
|
+
children: m.length
|
|
42
|
+
}), /* @__PURE__ */ o("p", {
|
|
43
|
+
className: "text-xs text-muted-foreground",
|
|
44
|
+
children: p("mybodyshield.sharedAppointments.stats.allAppointmentsHint", "Total scheduled")
|
|
45
|
+
})] })] }),
|
|
46
|
+
/* @__PURE__ */ s(c, { children: [/* @__PURE__ */ s(u, {
|
|
47
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
48
|
+
children: [/* @__PURE__ */ o(d, {
|
|
49
|
+
className: "text-sm font-medium",
|
|
50
|
+
children: p("mybodyshield.sharedAppointments.stats.confirmed", "Confirmed")
|
|
51
|
+
}), /* @__PURE__ */ o(r, { className: "h-4 w-4 text-green-500" })]
|
|
52
|
+
}), /* @__PURE__ */ s(l, { children: [/* @__PURE__ */ o("div", {
|
|
53
|
+
className: "text-2xl font-bold",
|
|
54
|
+
children: h
|
|
55
|
+
}), /* @__PURE__ */ o("p", {
|
|
56
|
+
className: "text-xs text-muted-foreground",
|
|
57
|
+
children: p("mybodyshield.sharedAppointments.stats.confirmedHint", "Ready to attend")
|
|
58
|
+
})] })] }),
|
|
59
|
+
/* @__PURE__ */ s(c, { children: [/* @__PURE__ */ s(u, {
|
|
60
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
61
|
+
children: [/* @__PURE__ */ o(d, {
|
|
62
|
+
className: "text-sm font-medium",
|
|
63
|
+
children: p("mybodyshield.sharedAppointments.stats.pending", "Pending")
|
|
64
|
+
}), /* @__PURE__ */ o(i, { className: "h-4 w-4 text-yellow-500" })]
|
|
65
|
+
}), /* @__PURE__ */ s(l, { children: [/* @__PURE__ */ o("div", {
|
|
66
|
+
className: "text-2xl font-bold",
|
|
67
|
+
children: g
|
|
68
|
+
}), /* @__PURE__ */ o("p", {
|
|
69
|
+
className: "text-xs text-muted-foreground",
|
|
70
|
+
children: p("mybodyshield.sharedAppointments.stats.pendingHint", "Awaiting confirmation")
|
|
71
|
+
})] })] }),
|
|
72
|
+
/* @__PURE__ */ s(c, { children: [/* @__PURE__ */ s(u, {
|
|
73
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
74
|
+
children: [/* @__PURE__ */ o(d, {
|
|
75
|
+
className: "text-sm font-medium",
|
|
76
|
+
children: p("mybodyshield.sharedAppointments.stats.completed", "Completed")
|
|
77
|
+
}), /* @__PURE__ */ o(a, { className: "h-4 w-4 text-purple-500" })]
|
|
78
|
+
}), /* @__PURE__ */ s(l, { children: [/* @__PURE__ */ o("div", {
|
|
79
|
+
className: "text-2xl font-bold",
|
|
80
|
+
children: _
|
|
81
|
+
}), /* @__PURE__ */ o("p", {
|
|
82
|
+
className: "text-xs text-muted-foreground",
|
|
83
|
+
children: p("mybodyshield.sharedAppointments.stats.completedHint", "Past visits")
|
|
84
|
+
})] })] })
|
|
85
|
+
]
|
|
86
|
+
}),
|
|
87
|
+
/* @__PURE__ */ s(c, { children: [/* @__PURE__ */ o(u, { children: /* @__PURE__ */ o(d, { children: p("mybodyshield.sharedAppointments.sections.allAppointments", "All Appointments") }) }), /* @__PURE__ */ o(l, { children: /* @__PURE__ */ o("div", {
|
|
88
|
+
className: "space-y-3",
|
|
89
|
+
children: m.map((e) => /* @__PURE__ */ s("div", {
|
|
90
|
+
className: "flex items-center justify-between p-3 rounded-lg bg-muted/50",
|
|
91
|
+
children: [/* @__PURE__ */ s("div", { children: [/* @__PURE__ */ s("p", {
|
|
92
|
+
className: "text-sm font-medium",
|
|
93
|
+
children: [
|
|
94
|
+
e.patientName,
|
|
95
|
+
" — ",
|
|
96
|
+
e.providerName
|
|
97
|
+
]
|
|
98
|
+
}), /* @__PURE__ */ s("p", {
|
|
99
|
+
className: "text-xs text-muted-foreground",
|
|
100
|
+
children: [
|
|
101
|
+
e.specialty,
|
|
102
|
+
" · ",
|
|
103
|
+
e.reason,
|
|
104
|
+
" · ",
|
|
105
|
+
e.location
|
|
106
|
+
]
|
|
107
|
+
})] }), /* @__PURE__ */ s("div", {
|
|
108
|
+
className: "text-right",
|
|
109
|
+
children: [/* @__PURE__ */ s("p", {
|
|
110
|
+
className: "text-sm font-medium",
|
|
111
|
+
children: [
|
|
112
|
+
e.date,
|
|
113
|
+
" ",
|
|
114
|
+
e.time
|
|
115
|
+
]
|
|
116
|
+
}), /* @__PURE__ */ o("span", {
|
|
117
|
+
className: `text-xs font-medium px-2 py-0.5 rounded-full ${e.status === "confirmed" ? "bg-green-100 text-green-700" : e.status === "pending" ? "bg-yellow-100 text-yellow-700" : "bg-gray-100 text-gray-700"}`,
|
|
118
|
+
children: v(e.status)
|
|
119
|
+
})]
|
|
120
|
+
})]
|
|
121
|
+
}, e.id))
|
|
122
|
+
}) })] })
|
|
123
|
+
]
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
//#endregion
|
|
127
|
+
export { f as SharedAppointmentsPage };
|
|
128
|
+
|
|
129
|
+
//# sourceMappingURL=SharedAppointmentsPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SharedAppointmentsPage.js","names":[],"sources":["../../../src/mybodyshield/pages/SharedAppointmentsPage.tsx"],"sourcesContent":["import { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { Card, CardContent, CardHeader, CardTitle } from '@burdenoff/fe-libs/ui';\nimport { Calendar, Users, Clock, CheckCircle } from 'lucide-react';\nimport { useMyBodyShieldStore } from '../store/mybodyshieldStore';\n\nexport function SharedAppointmentsPage() {\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 { appointments } = useMyBodyShieldStore();\n const confirmed = appointments.filter((a) => a.status === 'confirmed').length;\n const pending = appointments.filter((a) => a.status === 'pending').length;\n const completed = appointments.filter((a) => a.status === 'completed').length;\n const appointmentStatusLabel = (status: string): string => {\n switch (status) {\n case 'confirmed':\n return t('mybodyshield.sharedAppointments.status.confirmed', 'confirmed');\n case 'pending':\n return t('mybodyshield.sharedAppointments.status.pending', 'pending');\n case 'completed':\n return t('mybodyshield.sharedAppointments.status.completed', 'completed');\n case 'cancelled':\n return t('mybodyshield.sharedAppointments.status.cancelled', 'cancelled');\n default:\n return status;\n }\n };\n\n return (\n <div className=\"space-y-6 p-6\">\n <div>\n <h1 className=\"text-2xl font-semibold\">\n {t('mybodyshield.sharedAppointments.title', 'Appointments')}\n </h1>\n <p className=\"text-sm text-muted-foreground\">\n {t(\n 'mybodyshield.sharedAppointments.description',\n 'System-wide appointment scheduling and management'\n )}\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\">\n {t('mybodyshield.sharedAppointments.stats.allAppointments', 'All Appointments')}\n </CardTitle>\n <Calendar className=\"h-4 w-4 text-blue-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{appointments.length}</div>\n <p className=\"text-xs text-muted-foreground\">\n {t('mybodyshield.sharedAppointments.stats.allAppointmentsHint', 'Total scheduled')}\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.sharedAppointments.stats.confirmed', 'Confirmed')}\n </CardTitle>\n <CheckCircle className=\"h-4 w-4 text-green-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{confirmed}</div>\n <p className=\"text-xs text-muted-foreground\">\n {t('mybodyshield.sharedAppointments.stats.confirmedHint', 'Ready to attend')}\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.sharedAppointments.stats.pending', 'Pending')}\n </CardTitle>\n <Clock className=\"h-4 w-4 text-yellow-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{pending}</div>\n <p className=\"text-xs text-muted-foreground\">\n {t('mybodyshield.sharedAppointments.stats.pendingHint', 'Awaiting confirmation')}\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.sharedAppointments.stats.completed', 'Completed')}\n </CardTitle>\n <Users className=\"h-4 w-4 text-purple-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{completed}</div>\n <p className=\"text-xs text-muted-foreground\">\n {t('mybodyshield.sharedAppointments.stats.completedHint', 'Past visits')}\n </p>\n </CardContent>\n </Card>\n </div>\n\n <Card>\n <CardHeader>\n <CardTitle>\n {t('mybodyshield.sharedAppointments.sections.allAppointments', 'All Appointments')}\n </CardTitle>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-3\">\n {appointments.map((appt) => (\n <div\n key={appt.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\">\n {appt.patientName} — {appt.providerName}\n </p>\n <p className=\"text-xs text-muted-foreground\">\n {appt.specialty} · {appt.reason} · {appt.location}\n </p>\n </div>\n <div className=\"text-right\">\n <p className=\"text-sm font-medium\">\n {appt.date} {appt.time}\n </p>\n <span\n className={`text-xs font-medium px-2 py-0.5 rounded-full ${appt.status === 'confirmed' ? 'bg-green-100 text-green-700' : appt.status === 'pending' ? 'bg-yellow-100 text-yellow-700' : 'bg-gray-100 text-gray-700'}`}\n >\n {appointmentStatusLabel(appt.status)}\n </span>\n </div>\n </div>\n ))}\n </div>\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SharedCommunityPage.d.ts","sourceRoot":"","sources":["../../../src/mybodyshield/pages/SharedCommunityPage.tsx"],"names":[],"mappings":"AAsDA,wBAAgB,mBAAmB,4CAsFlC"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { BookOpen as e, Heart as t, MessageCircle as n, Users as r } from "lucide-react";
|
|
2
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
3
|
+
import { Card as o, CardContent as s, CardHeader as c, CardTitle as l } from "@burdenoff/fe-libs/ui";
|
|
4
|
+
//#region src/mybodyshield/pages/SharedCommunityPage.tsx
|
|
5
|
+
var u = [
|
|
6
|
+
{
|
|
7
|
+
id: 1,
|
|
8
|
+
name: "Diabetes Support Group",
|
|
9
|
+
members: 156,
|
|
10
|
+
posts: 342,
|
|
11
|
+
category: "Chronic Condition",
|
|
12
|
+
lastActive: "2 min ago"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
id: 2,
|
|
16
|
+
name: "Heart Health Community",
|
|
17
|
+
members: 89,
|
|
18
|
+
posts: 214,
|
|
19
|
+
category: "Cardiac",
|
|
20
|
+
lastActive: "15 min ago"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: 3,
|
|
24
|
+
name: "Mental Wellness Circle",
|
|
25
|
+
members: 234,
|
|
26
|
+
posts: 567,
|
|
27
|
+
category: "Mental Health",
|
|
28
|
+
lastActive: "5 min ago"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: 4,
|
|
32
|
+
name: "New Parents Network",
|
|
33
|
+
members: 178,
|
|
34
|
+
posts: 389,
|
|
35
|
+
category: "Family",
|
|
36
|
+
lastActive: "1 hour ago"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: 5,
|
|
40
|
+
name: "Fitness Motivation Hub",
|
|
41
|
+
members: 312,
|
|
42
|
+
posts: 890,
|
|
43
|
+
category: "Fitness",
|
|
44
|
+
lastActive: "8 min ago"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
id: 6,
|
|
48
|
+
name: "Nutrition & Diet Forum",
|
|
49
|
+
members: 145,
|
|
50
|
+
posts: 278,
|
|
51
|
+
category: "Nutrition",
|
|
52
|
+
lastActive: "30 min ago"
|
|
53
|
+
}
|
|
54
|
+
];
|
|
55
|
+
function d() {
|
|
56
|
+
return /* @__PURE__ */ a("div", {
|
|
57
|
+
className: "space-y-6 p-6",
|
|
58
|
+
children: [
|
|
59
|
+
/* @__PURE__ */ a("div", { children: [/* @__PURE__ */ i("h1", {
|
|
60
|
+
className: "text-2xl font-semibold",
|
|
61
|
+
children: "Community"
|
|
62
|
+
}), /* @__PURE__ */ i("p", {
|
|
63
|
+
className: "text-sm text-muted-foreground",
|
|
64
|
+
children: "Connect with support groups and health communities"
|
|
65
|
+
})] }),
|
|
66
|
+
/* @__PURE__ */ a("div", {
|
|
67
|
+
className: "grid gap-4 md:grid-cols-4",
|
|
68
|
+
children: [
|
|
69
|
+
/* @__PURE__ */ a(o, { children: [/* @__PURE__ */ a(c, {
|
|
70
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
71
|
+
children: [/* @__PURE__ */ i(l, {
|
|
72
|
+
className: "text-sm font-medium",
|
|
73
|
+
children: "Active Groups"
|
|
74
|
+
}), /* @__PURE__ */ i(r, { className: "h-4 w-4 text-blue-500" })]
|
|
75
|
+
}), /* @__PURE__ */ a(s, { children: [/* @__PURE__ */ i("div", {
|
|
76
|
+
className: "text-2xl font-bold",
|
|
77
|
+
children: u.length
|
|
78
|
+
}), /* @__PURE__ */ i("p", {
|
|
79
|
+
className: "text-xs text-muted-foreground",
|
|
80
|
+
children: "Support communities"
|
|
81
|
+
})] })] }),
|
|
82
|
+
/* @__PURE__ */ a(o, { children: [/* @__PURE__ */ a(c, {
|
|
83
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
84
|
+
children: [/* @__PURE__ */ i(l, {
|
|
85
|
+
className: "text-sm font-medium",
|
|
86
|
+
children: "Total Members"
|
|
87
|
+
}), /* @__PURE__ */ i(t, { className: "h-4 w-4 text-red-500" })]
|
|
88
|
+
}), /* @__PURE__ */ a(s, { children: [/* @__PURE__ */ i("div", {
|
|
89
|
+
className: "text-2xl font-bold",
|
|
90
|
+
children: u.reduce((e, t) => e + t.members, 0).toLocaleString()
|
|
91
|
+
}), /* @__PURE__ */ i("p", {
|
|
92
|
+
className: "text-xs text-muted-foreground",
|
|
93
|
+
children: "Active participants"
|
|
94
|
+
})] })] }),
|
|
95
|
+
/* @__PURE__ */ a(o, { children: [/* @__PURE__ */ a(c, {
|
|
96
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
97
|
+
children: [/* @__PURE__ */ i(l, {
|
|
98
|
+
className: "text-sm font-medium",
|
|
99
|
+
children: "Total Posts"
|
|
100
|
+
}), /* @__PURE__ */ i(n, { className: "h-4 w-4 text-green-500" })]
|
|
101
|
+
}), /* @__PURE__ */ a(s, { children: [/* @__PURE__ */ i("div", {
|
|
102
|
+
className: "text-2xl font-bold",
|
|
103
|
+
children: u.reduce((e, t) => e + t.posts, 0).toLocaleString()
|
|
104
|
+
}), /* @__PURE__ */ i("p", {
|
|
105
|
+
className: "text-xs text-muted-foreground",
|
|
106
|
+
children: "Discussions & replies"
|
|
107
|
+
})] })] }),
|
|
108
|
+
/* @__PURE__ */ a(o, { children: [/* @__PURE__ */ a(c, {
|
|
109
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
110
|
+
children: [/* @__PURE__ */ i(l, {
|
|
111
|
+
className: "text-sm font-medium",
|
|
112
|
+
children: "Resources"
|
|
113
|
+
}), /* @__PURE__ */ i(e, { className: "h-4 w-4 text-purple-500" })]
|
|
114
|
+
}), /* @__PURE__ */ a(s, { children: [/* @__PURE__ */ i("div", {
|
|
115
|
+
className: "text-2xl font-bold",
|
|
116
|
+
children: "48"
|
|
117
|
+
}), /* @__PURE__ */ i("p", {
|
|
118
|
+
className: "text-xs text-muted-foreground",
|
|
119
|
+
children: "Shared articles & guides"
|
|
120
|
+
})] })] })
|
|
121
|
+
]
|
|
122
|
+
}),
|
|
123
|
+
/* @__PURE__ */ a(o, { children: [/* @__PURE__ */ i(c, { children: /* @__PURE__ */ i(l, { children: "Community Groups" }) }), /* @__PURE__ */ i(s, { children: /* @__PURE__ */ i("div", {
|
|
124
|
+
className: "grid gap-3 md:grid-cols-2",
|
|
125
|
+
children: u.map((e) => /* @__PURE__ */ a("div", {
|
|
126
|
+
className: "p-4 rounded-lg border hover:bg-muted/50 transition-colors cursor-pointer",
|
|
127
|
+
children: [/* @__PURE__ */ a("div", {
|
|
128
|
+
className: "flex items-center justify-between mb-2",
|
|
129
|
+
children: [/* @__PURE__ */ i("p", {
|
|
130
|
+
className: "text-sm font-medium",
|
|
131
|
+
children: e.name
|
|
132
|
+
}), /* @__PURE__ */ i("span", {
|
|
133
|
+
className: "text-xs px-2 py-0.5 rounded-full bg-primary/10 text-primary",
|
|
134
|
+
children: e.category
|
|
135
|
+
})]
|
|
136
|
+
}), /* @__PURE__ */ a("div", {
|
|
137
|
+
className: "flex gap-4 text-xs text-muted-foreground",
|
|
138
|
+
children: [
|
|
139
|
+
/* @__PURE__ */ a("span", { children: [e.members, " members"] }),
|
|
140
|
+
/* @__PURE__ */ a("span", { children: [e.posts, " posts"] }),
|
|
141
|
+
/* @__PURE__ */ a("span", { children: ["Active ", e.lastActive] })
|
|
142
|
+
]
|
|
143
|
+
})]
|
|
144
|
+
}, e.id))
|
|
145
|
+
}) })] })
|
|
146
|
+
]
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
//#endregion
|
|
150
|
+
export { d as SharedCommunityPage };
|
|
151
|
+
|
|
152
|
+
//# sourceMappingURL=SharedCommunityPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SharedCommunityPage.js","names":[],"sources":["../../../src/mybodyshield/pages/SharedCommunityPage.tsx"],"sourcesContent":["import { Card, CardContent, CardHeader, CardTitle } from '@burdenoff/fe-libs/ui';\nimport { Users, MessageCircle, Heart, BookOpen } from 'lucide-react';\n\nconst communityGroups = [\n {\n id: 1,\n name: 'Diabetes Support Group',\n members: 156,\n posts: 342,\n category: 'Chronic Condition',\n lastActive: '2 min ago',\n },\n {\n id: 2,\n name: 'Heart Health Community',\n members: 89,\n posts: 214,\n category: 'Cardiac',\n lastActive: '15 min ago',\n },\n {\n id: 3,\n name: 'Mental Wellness Circle',\n members: 234,\n posts: 567,\n category: 'Mental Health',\n lastActive: '5 min ago',\n },\n {\n id: 4,\n name: 'New Parents Network',\n members: 178,\n posts: 389,\n category: 'Family',\n lastActive: '1 hour ago',\n },\n {\n id: 5,\n name: 'Fitness Motivation Hub',\n members: 312,\n posts: 890,\n category: 'Fitness',\n lastActive: '8 min ago',\n },\n {\n id: 6,\n name: 'Nutrition & Diet Forum',\n members: 145,\n posts: 278,\n category: 'Nutrition',\n lastActive: '30 min ago',\n },\n];\n\nexport function SharedCommunityPage() {\n return (\n <div className=\"space-y-6 p-6\">\n <div>\n <h1 className=\"text-2xl font-semibold\">Community</h1>\n <p className=\"text-sm text-muted-foreground\">\n Connect with support groups and health communities\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\">Active Groups</CardTitle>\n <Users className=\"h-4 w-4 text-blue-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{communityGroups.length}</div>\n <p className=\"text-xs text-muted-foreground\">Support communities</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\">Total Members</CardTitle>\n <Heart className=\"h-4 w-4 text-red-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">\n {communityGroups.reduce((a, g) => a + g.members, 0).toLocaleString()}\n </div>\n <p className=\"text-xs text-muted-foreground\">Active participants</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\">Total Posts</CardTitle>\n <MessageCircle className=\"h-4 w-4 text-green-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">\n {communityGroups.reduce((a, g) => a + g.posts, 0).toLocaleString()}\n </div>\n <p className=\"text-xs text-muted-foreground\">Discussions & replies</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\">Resources</CardTitle>\n <BookOpen className=\"h-4 w-4 text-purple-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">48</div>\n <p className=\"text-xs text-muted-foreground\">Shared articles & guides</p>\n </CardContent>\n </Card>\n </div>\n\n <Card>\n <CardHeader>\n <CardTitle>Community Groups</CardTitle>\n </CardHeader>\n <CardContent>\n <div className=\"grid gap-3 md:grid-cols-2\">\n {communityGroups.map((group) => (\n <div\n key={group.id}\n className=\"p-4 rounded-lg border hover:bg-muted/50 transition-colors cursor-pointer\"\n >\n <div className=\"flex items-center justify-between mb-2\">\n <p className=\"text-sm font-medium\">{group.name}</p>\n <span className=\"text-xs px-2 py-0.5 rounded-full bg-primary/10 text-primary\">\n {group.category}\n </span>\n </div>\n <div className=\"flex gap-4 text-xs text-muted-foreground\">\n <span>{group.members} members</span>\n <span>{group.posts} posts</span>\n <span>Active {group.lastActive}</span>\n </div>\n </div>\n ))}\n </div>\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SharedEmergencyAlertsPage.d.ts","sourceRoot":"","sources":["../../../src/mybodyshield/pages/SharedEmergencyAlertsPage.tsx"],"names":[],"mappings":"AAsEA,wBAAgB,yBAAyB,4CA0FxC"}
|