@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,141 @@
|
|
|
1
|
+
import { useMyBodyShieldStore as e } from "../store/mybodyshieldStore.js";
|
|
2
|
+
import { Apple as t, Beef as n, Leaf as r, Wheat as i } from "lucide-react";
|
|
3
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
4
|
+
import { Card as s, CardContent as c, CardHeader as l, CardTitle as u } from "@burdenoff/fe-libs/ui";
|
|
5
|
+
//#region src/mybodyshield/pages/PatientNutritionTrackingPage.tsx
|
|
6
|
+
function d() {
|
|
7
|
+
let { nutritionEntries: d } = e(), f = d.reduce((e, t) => e + t.calories, 0), p = d.reduce((e, t) => e + t.protein, 0), m = d.reduce((e, t) => e + t.carbs, 0), h = d.reduce((e, t) => e + t.fiber, 0);
|
|
8
|
+
return /* @__PURE__ */ o("div", {
|
|
9
|
+
className: "space-y-6 p-6",
|
|
10
|
+
children: [
|
|
11
|
+
/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("h1", {
|
|
12
|
+
className: "text-2xl font-semibold",
|
|
13
|
+
children: "Nutrition Tracking"
|
|
14
|
+
}), /* @__PURE__ */ a("p", {
|
|
15
|
+
className: "text-sm text-muted-foreground",
|
|
16
|
+
children: "Monitor your daily food intake and macronutrients"
|
|
17
|
+
})] }),
|
|
18
|
+
/* @__PURE__ */ o("div", {
|
|
19
|
+
className: "grid gap-4 md:grid-cols-4",
|
|
20
|
+
children: [
|
|
21
|
+
/* @__PURE__ */ o(s, { children: [/* @__PURE__ */ o(l, {
|
|
22
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
23
|
+
children: [/* @__PURE__ */ a(u, {
|
|
24
|
+
className: "text-sm font-medium",
|
|
25
|
+
children: "Total Calories"
|
|
26
|
+
}), /* @__PURE__ */ a(t, { className: "h-4 w-4 text-red-500" })]
|
|
27
|
+
}), /* @__PURE__ */ o(c, { children: [/* @__PURE__ */ a("div", {
|
|
28
|
+
className: "text-2xl font-bold",
|
|
29
|
+
children: f.toLocaleString()
|
|
30
|
+
}), /* @__PURE__ */ a("p", {
|
|
31
|
+
className: "text-xs text-muted-foreground",
|
|
32
|
+
children: "Target: 2,000 kcal"
|
|
33
|
+
})] })] }),
|
|
34
|
+
/* @__PURE__ */ o(s, { children: [/* @__PURE__ */ o(l, {
|
|
35
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
36
|
+
children: [/* @__PURE__ */ a(u, {
|
|
37
|
+
className: "text-sm font-medium",
|
|
38
|
+
children: "Protein"
|
|
39
|
+
}), /* @__PURE__ */ a(n, { className: "h-4 w-4 text-orange-500" })]
|
|
40
|
+
}), /* @__PURE__ */ o(c, { children: [/* @__PURE__ */ o("div", {
|
|
41
|
+
className: "text-2xl font-bold",
|
|
42
|
+
children: [p, "g"]
|
|
43
|
+
}), /* @__PURE__ */ a("p", {
|
|
44
|
+
className: "text-xs text-muted-foreground",
|
|
45
|
+
children: "Target: 120g/day"
|
|
46
|
+
})] })] }),
|
|
47
|
+
/* @__PURE__ */ o(s, { children: [/* @__PURE__ */ o(l, {
|
|
48
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
49
|
+
children: [/* @__PURE__ */ a(u, {
|
|
50
|
+
className: "text-sm font-medium",
|
|
51
|
+
children: "Carbs"
|
|
52
|
+
}), /* @__PURE__ */ a(i, { className: "h-4 w-4 text-amber-500" })]
|
|
53
|
+
}), /* @__PURE__ */ o(c, { children: [/* @__PURE__ */ o("div", {
|
|
54
|
+
className: "text-2xl font-bold",
|
|
55
|
+
children: [m, "g"]
|
|
56
|
+
}), /* @__PURE__ */ a("p", {
|
|
57
|
+
className: "text-xs text-muted-foreground",
|
|
58
|
+
children: "Target: 250g/day"
|
|
59
|
+
})] })] }),
|
|
60
|
+
/* @__PURE__ */ o(s, { children: [/* @__PURE__ */ o(l, {
|
|
61
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
62
|
+
children: [/* @__PURE__ */ a(u, {
|
|
63
|
+
className: "text-sm font-medium",
|
|
64
|
+
children: "Fiber"
|
|
65
|
+
}), /* @__PURE__ */ a(r, { className: "h-4 w-4 text-green-500" })]
|
|
66
|
+
}), /* @__PURE__ */ o(c, { children: [/* @__PURE__ */ o("div", {
|
|
67
|
+
className: "text-2xl font-bold",
|
|
68
|
+
children: [h, "g"]
|
|
69
|
+
}), /* @__PURE__ */ a("p", {
|
|
70
|
+
className: "text-xs text-muted-foreground",
|
|
71
|
+
children: "Target: 30g/day"
|
|
72
|
+
})] })] })
|
|
73
|
+
]
|
|
74
|
+
}),
|
|
75
|
+
/* @__PURE__ */ o(s, { children: [/* @__PURE__ */ a(l, { children: /* @__PURE__ */ a(u, { children: "Today's Meals" }) }), /* @__PURE__ */ a(c, { children: /* @__PURE__ */ a("div", {
|
|
76
|
+
className: "space-y-3",
|
|
77
|
+
children: d.map((e) => /* @__PURE__ */ o("div", {
|
|
78
|
+
className: "p-3 rounded-lg bg-muted/50",
|
|
79
|
+
children: [/* @__PURE__ */ o("div", {
|
|
80
|
+
className: "flex items-center justify-between mb-2",
|
|
81
|
+
children: [/* @__PURE__ */ a("p", {
|
|
82
|
+
className: "text-sm font-medium",
|
|
83
|
+
children: e.meal
|
|
84
|
+
}), /* @__PURE__ */ o("span", {
|
|
85
|
+
className: "text-sm font-medium",
|
|
86
|
+
children: [e.calories, " kcal"]
|
|
87
|
+
})]
|
|
88
|
+
}), /* @__PURE__ */ o("div", {
|
|
89
|
+
className: "grid grid-cols-4 gap-2 text-xs",
|
|
90
|
+
children: [
|
|
91
|
+
/* @__PURE__ */ o("div", {
|
|
92
|
+
className: "text-center p-1.5 rounded bg-orange-50",
|
|
93
|
+
children: [/* @__PURE__ */ a("p", {
|
|
94
|
+
className: "text-muted-foreground",
|
|
95
|
+
children: "Protein"
|
|
96
|
+
}), /* @__PURE__ */ o("p", {
|
|
97
|
+
className: "font-medium",
|
|
98
|
+
children: [e.protein, "g"]
|
|
99
|
+
})]
|
|
100
|
+
}),
|
|
101
|
+
/* @__PURE__ */ o("div", {
|
|
102
|
+
className: "text-center p-1.5 rounded bg-amber-50",
|
|
103
|
+
children: [/* @__PURE__ */ a("p", {
|
|
104
|
+
className: "text-muted-foreground",
|
|
105
|
+
children: "Carbs"
|
|
106
|
+
}), /* @__PURE__ */ o("p", {
|
|
107
|
+
className: "font-medium",
|
|
108
|
+
children: [e.carbs, "g"]
|
|
109
|
+
})]
|
|
110
|
+
}),
|
|
111
|
+
/* @__PURE__ */ o("div", {
|
|
112
|
+
className: "text-center p-1.5 rounded bg-yellow-50",
|
|
113
|
+
children: [/* @__PURE__ */ a("p", {
|
|
114
|
+
className: "text-muted-foreground",
|
|
115
|
+
children: "Fat"
|
|
116
|
+
}), /* @__PURE__ */ o("p", {
|
|
117
|
+
className: "font-medium",
|
|
118
|
+
children: [e.fat, "g"]
|
|
119
|
+
})]
|
|
120
|
+
}),
|
|
121
|
+
/* @__PURE__ */ o("div", {
|
|
122
|
+
className: "text-center p-1.5 rounded bg-green-50",
|
|
123
|
+
children: [/* @__PURE__ */ a("p", {
|
|
124
|
+
className: "text-muted-foreground",
|
|
125
|
+
children: "Fiber"
|
|
126
|
+
}), /* @__PURE__ */ o("p", {
|
|
127
|
+
className: "font-medium",
|
|
128
|
+
children: [e.fiber, "g"]
|
|
129
|
+
})]
|
|
130
|
+
})
|
|
131
|
+
]
|
|
132
|
+
})]
|
|
133
|
+
}, e.id))
|
|
134
|
+
}) })] })
|
|
135
|
+
]
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
//#endregion
|
|
139
|
+
export { d as PatientNutritionTrackingPage };
|
|
140
|
+
|
|
141
|
+
//# sourceMappingURL=PatientNutritionTrackingPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PatientNutritionTrackingPage.js","names":[],"sources":["../../../src/mybodyshield/pages/PatientNutritionTrackingPage.tsx"],"sourcesContent":["import { Card, CardContent, CardHeader, CardTitle } from '@burdenoff/fe-libs/ui';\nimport { Apple, Beef, Wheat, Leaf } from 'lucide-react';\nimport { useMyBodyShieldStore } from '../store/mybodyshieldStore';\n\nexport function PatientNutritionTrackingPage() {\n const { nutritionEntries } = useMyBodyShieldStore();\n const totalCalories = nutritionEntries.reduce((acc, e) => acc + e.calories, 0);\n const totalProtein = nutritionEntries.reduce((acc, e) => acc + e.protein, 0);\n const totalCarbs = nutritionEntries.reduce((acc, e) => acc + e.carbs, 0);\n const totalFiber = nutritionEntries.reduce((acc, e) => acc + e.fiber, 0);\n\n return (\n <div className=\"space-y-6 p-6\">\n <div>\n <h1 className=\"text-2xl font-semibold\">Nutrition Tracking</h1>\n <p className=\"text-sm text-muted-foreground\">\n Monitor your daily food intake and macronutrients\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\">Total Calories</CardTitle>\n <Apple className=\"h-4 w-4 text-red-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{totalCalories.toLocaleString()}</div>\n <p className=\"text-xs text-muted-foreground\">Target: 2,000 kcal</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\">Protein</CardTitle>\n <Beef className=\"h-4 w-4 text-orange-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{totalProtein}g</div>\n <p className=\"text-xs text-muted-foreground\">Target: 120g/day</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\">Carbs</CardTitle>\n <Wheat className=\"h-4 w-4 text-amber-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{totalCarbs}g</div>\n <p className=\"text-xs text-muted-foreground\">Target: 250g/day</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\">Fiber</CardTitle>\n <Leaf className=\"h-4 w-4 text-green-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{totalFiber}g</div>\n <p className=\"text-xs text-muted-foreground\">Target: 30g/day</p>\n </CardContent>\n </Card>\n </div>\n\n <Card>\n <CardHeader>\n <CardTitle>Today's Meals</CardTitle>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-3\">\n {nutritionEntries.map((entry) => (\n <div key={entry.id} className=\"p-3 rounded-lg bg-muted/50\">\n <div className=\"flex items-center justify-between mb-2\">\n <p className=\"text-sm font-medium\">{entry.meal}</p>\n <span className=\"text-sm font-medium\">{entry.calories} kcal</span>\n </div>\n <div className=\"grid grid-cols-4 gap-2 text-xs\">\n <div className=\"text-center p-1.5 rounded bg-orange-50\">\n <p className=\"text-muted-foreground\">Protein</p>\n <p className=\"font-medium\">{entry.protein}g</p>\n </div>\n <div className=\"text-center p-1.5 rounded bg-amber-50\">\n <p className=\"text-muted-foreground\">Carbs</p>\n <p className=\"font-medium\">{entry.carbs}g</p>\n </div>\n <div className=\"text-center p-1.5 rounded bg-yellow-50\">\n <p className=\"text-muted-foreground\">Fat</p>\n <p className=\"font-medium\">{entry.fat}g</p>\n </div>\n <div className=\"text-center p-1.5 rounded bg-green-50\">\n <p className=\"text-muted-foreground\">Fiber</p>\n <p className=\"font-medium\">{entry.fiber}g</p>\n </div>\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":"PatientVitalSignsPage.d.ts","sourceRoot":"","sources":["../../../src/mybodyshield/pages/PatientVitalSignsPage.tsx"],"names":[],"mappings":"AAIA,wBAAgB,qBAAqB,4CAiHpC"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { useMyBodyShieldStore as e } from "../store/mybodyshieldStore.js";
|
|
2
|
+
import { Activity as t, Heart as n, Scale as r, Thermometer as i } from "lucide-react";
|
|
3
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
4
|
+
import { Card as s, CardContent as c, CardHeader as l, CardTitle as u } from "@burdenoff/fe-libs/ui";
|
|
5
|
+
//#region src/mybodyshield/pages/PatientVitalSignsPage.tsx
|
|
6
|
+
function d() {
|
|
7
|
+
let { vitalSigns: d } = e(), f = d[0];
|
|
8
|
+
return /* @__PURE__ */ o("div", {
|
|
9
|
+
className: "space-y-6 p-6",
|
|
10
|
+
children: [
|
|
11
|
+
/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("h1", {
|
|
12
|
+
className: "text-2xl font-semibold",
|
|
13
|
+
children: "Vital Signs"
|
|
14
|
+
}), /* @__PURE__ */ a("p", {
|
|
15
|
+
className: "text-sm text-muted-foreground",
|
|
16
|
+
children: "Monitor your key health indicators over time"
|
|
17
|
+
})] }),
|
|
18
|
+
f && /* @__PURE__ */ o("div", {
|
|
19
|
+
className: "grid gap-4 md:grid-cols-4",
|
|
20
|
+
children: [
|
|
21
|
+
/* @__PURE__ */ o(s, { children: [/* @__PURE__ */ o(l, {
|
|
22
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
23
|
+
children: [/* @__PURE__ */ a(u, {
|
|
24
|
+
className: "text-sm font-medium",
|
|
25
|
+
children: "Heart Rate"
|
|
26
|
+
}), /* @__PURE__ */ a(n, { className: "h-4 w-4 text-red-500" })]
|
|
27
|
+
}), /* @__PURE__ */ o(c, { children: [/* @__PURE__ */ o("div", {
|
|
28
|
+
className: "text-2xl font-bold",
|
|
29
|
+
children: [
|
|
30
|
+
f.heartRate,
|
|
31
|
+
" ",
|
|
32
|
+
/* @__PURE__ */ a("span", {
|
|
33
|
+
className: "text-sm font-normal text-muted-foreground",
|
|
34
|
+
children: "bpm"
|
|
35
|
+
})
|
|
36
|
+
]
|
|
37
|
+
}), /* @__PURE__ */ a("p", {
|
|
38
|
+
className: "text-xs text-muted-foreground",
|
|
39
|
+
children: "Normal range: 60-100"
|
|
40
|
+
})] })] }),
|
|
41
|
+
/* @__PURE__ */ o(s, { children: [/* @__PURE__ */ o(l, {
|
|
42
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
43
|
+
children: [/* @__PURE__ */ a(u, {
|
|
44
|
+
className: "text-sm font-medium",
|
|
45
|
+
children: "Blood Pressure"
|
|
46
|
+
}), /* @__PURE__ */ a(t, { className: "h-4 w-4 text-blue-500" })]
|
|
47
|
+
}), /* @__PURE__ */ o(c, { children: [/* @__PURE__ */ o("div", {
|
|
48
|
+
className: "text-2xl font-bold",
|
|
49
|
+
children: [
|
|
50
|
+
f.bloodPressureSystolic,
|
|
51
|
+
"/",
|
|
52
|
+
f.bloodPressureDiastolic
|
|
53
|
+
]
|
|
54
|
+
}), /* @__PURE__ */ a("p", {
|
|
55
|
+
className: "text-xs text-muted-foreground",
|
|
56
|
+
children: "Target: <130/80 mmHg"
|
|
57
|
+
})] })] }),
|
|
58
|
+
/* @__PURE__ */ o(s, { children: [/* @__PURE__ */ o(l, {
|
|
59
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
60
|
+
children: [/* @__PURE__ */ a(u, {
|
|
61
|
+
className: "text-sm font-medium",
|
|
62
|
+
children: "SpO2"
|
|
63
|
+
}), /* @__PURE__ */ a(i, { className: "h-4 w-4 text-cyan-500" })]
|
|
64
|
+
}), /* @__PURE__ */ o(c, { children: [/* @__PURE__ */ o("div", {
|
|
65
|
+
className: "text-2xl font-bold",
|
|
66
|
+
children: [f.oxygenSaturation, "%"]
|
|
67
|
+
}), /* @__PURE__ */ a("p", {
|
|
68
|
+
className: "text-xs text-muted-foreground",
|
|
69
|
+
children: "Normal: 95-100%"
|
|
70
|
+
})] })] }),
|
|
71
|
+
/* @__PURE__ */ o(s, { children: [/* @__PURE__ */ o(l, {
|
|
72
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
73
|
+
children: [/* @__PURE__ */ a(u, {
|
|
74
|
+
className: "text-sm font-medium",
|
|
75
|
+
children: "BMI"
|
|
76
|
+
}), /* @__PURE__ */ a(r, { className: "h-4 w-4 text-green-500" })]
|
|
77
|
+
}), /* @__PURE__ */ o(c, { children: [/* @__PURE__ */ a("div", {
|
|
78
|
+
className: "text-2xl font-bold",
|
|
79
|
+
children: f.bmi
|
|
80
|
+
}), /* @__PURE__ */ a("p", {
|
|
81
|
+
className: "text-xs text-muted-foreground",
|
|
82
|
+
children: "Normal: 18.5-24.9"
|
|
83
|
+
})] })] })
|
|
84
|
+
]
|
|
85
|
+
}),
|
|
86
|
+
/* @__PURE__ */ o(s, { children: [/* @__PURE__ */ a(l, { children: /* @__PURE__ */ a(u, { children: "Vital Signs History" }) }), /* @__PURE__ */ a(c, { children: /* @__PURE__ */ a("div", {
|
|
87
|
+
className: "space-y-3",
|
|
88
|
+
children: d.map((e) => /* @__PURE__ */ o("div", {
|
|
89
|
+
className: "p-3 rounded-lg bg-muted/50",
|
|
90
|
+
children: [/* @__PURE__ */ o("p", {
|
|
91
|
+
className: "text-xs text-muted-foreground mb-2",
|
|
92
|
+
children: ["Recorded: ", new Date(e.recordedAt).toLocaleString()]
|
|
93
|
+
}), /* @__PURE__ */ o("div", {
|
|
94
|
+
className: "grid grid-cols-2 md:grid-cols-4 gap-3",
|
|
95
|
+
children: [
|
|
96
|
+
/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
|
|
97
|
+
className: "text-xs text-muted-foreground",
|
|
98
|
+
children: "Blood Pressure"
|
|
99
|
+
}), /* @__PURE__ */ o("p", {
|
|
100
|
+
className: "text-sm font-medium",
|
|
101
|
+
children: [
|
|
102
|
+
e.bloodPressureSystolic,
|
|
103
|
+
"/",
|
|
104
|
+
e.bloodPressureDiastolic,
|
|
105
|
+
" mmHg"
|
|
106
|
+
]
|
|
107
|
+
})] }),
|
|
108
|
+
/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
|
|
109
|
+
className: "text-xs text-muted-foreground",
|
|
110
|
+
children: "Heart Rate"
|
|
111
|
+
}), /* @__PURE__ */ o("p", {
|
|
112
|
+
className: "text-sm font-medium",
|
|
113
|
+
children: [e.heartRate, " bpm"]
|
|
114
|
+
})] }),
|
|
115
|
+
/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
|
|
116
|
+
className: "text-xs text-muted-foreground",
|
|
117
|
+
children: "Temperature"
|
|
118
|
+
}), /* @__PURE__ */ o("p", {
|
|
119
|
+
className: "text-sm font-medium",
|
|
120
|
+
children: [e.temperature, "°F"]
|
|
121
|
+
})] }),
|
|
122
|
+
/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
|
|
123
|
+
className: "text-xs text-muted-foreground",
|
|
124
|
+
children: "SpO2"
|
|
125
|
+
}), /* @__PURE__ */ o("p", {
|
|
126
|
+
className: "text-sm font-medium",
|
|
127
|
+
children: [e.oxygenSaturation, "%"]
|
|
128
|
+
})] }),
|
|
129
|
+
/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
|
|
130
|
+
className: "text-xs text-muted-foreground",
|
|
131
|
+
children: "Weight"
|
|
132
|
+
}), /* @__PURE__ */ o("p", {
|
|
133
|
+
className: "text-sm font-medium",
|
|
134
|
+
children: [e.weight, " kg"]
|
|
135
|
+
})] }),
|
|
136
|
+
/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
|
|
137
|
+
className: "text-xs text-muted-foreground",
|
|
138
|
+
children: "BMI"
|
|
139
|
+
}), /* @__PURE__ */ a("p", {
|
|
140
|
+
className: "text-sm font-medium",
|
|
141
|
+
children: e.bmi
|
|
142
|
+
})] }),
|
|
143
|
+
/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
|
|
144
|
+
className: "text-xs text-muted-foreground",
|
|
145
|
+
children: "Respiratory Rate"
|
|
146
|
+
}), /* @__PURE__ */ o("p", {
|
|
147
|
+
className: "text-sm font-medium",
|
|
148
|
+
children: [e.respiratoryRate, " breaths/min"]
|
|
149
|
+
})] })
|
|
150
|
+
]
|
|
151
|
+
})]
|
|
152
|
+
}, e.id))
|
|
153
|
+
}) })] })
|
|
154
|
+
]
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
//#endregion
|
|
158
|
+
export { d as PatientVitalSignsPage };
|
|
159
|
+
|
|
160
|
+
//# sourceMappingURL=PatientVitalSignsPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PatientVitalSignsPage.js","names":[],"sources":["../../../src/mybodyshield/pages/PatientVitalSignsPage.tsx"],"sourcesContent":["import { Card, CardContent, CardHeader, CardTitle } from '@burdenoff/fe-libs/ui';\nimport { Heart, Activity, Thermometer, Scale } from 'lucide-react';\nimport { useMyBodyShieldStore } from '../store/mybodyshieldStore';\n\nexport function PatientVitalSignsPage() {\n const { vitalSigns } = useMyBodyShieldStore();\n const latest = vitalSigns[0];\n\n return (\n <div className=\"space-y-6 p-6\">\n <div>\n <h1 className=\"text-2xl font-semibold\">Vital Signs</h1>\n <p className=\"text-sm text-muted-foreground\">\n Monitor your key health indicators over time\n </p>\n </div>\n\n {latest && (\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\">Heart Rate</CardTitle>\n <Heart className=\"h-4 w-4 text-red-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">\n {latest.heartRate}{' '}\n <span className=\"text-sm font-normal text-muted-foreground\">bpm</span>\n </div>\n <p className=\"text-xs text-muted-foreground\">Normal range: 60-100</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\">Blood Pressure</CardTitle>\n <Activity className=\"h-4 w-4 text-blue-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">\n {latest.bloodPressureSystolic}/{latest.bloodPressureDiastolic}\n </div>\n <p className=\"text-xs text-muted-foreground\">Target: <130/80 mmHg</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\">SpO2</CardTitle>\n <Thermometer className=\"h-4 w-4 text-cyan-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{latest.oxygenSaturation}%</div>\n <p className=\"text-xs text-muted-foreground\">Normal: 95-100%</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\">BMI</CardTitle>\n <Scale className=\"h-4 w-4 text-green-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{latest.bmi}</div>\n <p className=\"text-xs text-muted-foreground\">Normal: 18.5-24.9</p>\n </CardContent>\n </Card>\n </div>\n )}\n\n <Card>\n <CardHeader>\n <CardTitle>Vital Signs History</CardTitle>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-3\">\n {vitalSigns.map((vital) => (\n <div key={vital.id} className=\"p-3 rounded-lg bg-muted/50\">\n <p className=\"text-xs text-muted-foreground mb-2\">\n Recorded: {new Date(vital.recordedAt).toLocaleString()}\n </p>\n <div className=\"grid grid-cols-2 md:grid-cols-4 gap-3\">\n <div>\n <p className=\"text-xs text-muted-foreground\">Blood Pressure</p>\n <p className=\"text-sm font-medium\">\n {vital.bloodPressureSystolic}/{vital.bloodPressureDiastolic} mmHg\n </p>\n </div>\n <div>\n <p className=\"text-xs text-muted-foreground\">Heart Rate</p>\n <p className=\"text-sm font-medium\">{vital.heartRate} bpm</p>\n </div>\n <div>\n <p className=\"text-xs text-muted-foreground\">Temperature</p>\n <p className=\"text-sm font-medium\">{vital.temperature}°F</p>\n </div>\n <div>\n <p className=\"text-xs text-muted-foreground\">SpO2</p>\n <p className=\"text-sm font-medium\">{vital.oxygenSaturation}%</p>\n </div>\n <div>\n <p className=\"text-xs text-muted-foreground\">Weight</p>\n <p className=\"text-sm font-medium\">{vital.weight} kg</p>\n </div>\n <div>\n <p className=\"text-xs text-muted-foreground\">BMI</p>\n <p className=\"text-sm font-medium\">{vital.bmi}</p>\n </div>\n <div>\n <p className=\"text-xs text-muted-foreground\">Respiratory Rate</p>\n <p className=\"text-sm font-medium\">{vital.respiratoryRate} breaths/min</p>\n </div>\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":"ProviderCalendarPage.d.ts","sourceRoot":"","sources":["../../../src/mybodyshield/pages/ProviderCalendarPage.tsx"],"names":[],"mappings":"AAIA,wBAAgB,oBAAoB,4CA0GnC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { useMyBodyShieldStore as e } from "../store/mybodyshieldStore.js";
|
|
2
|
+
import { Calendar as t, Clock as n, Users as r, Video as i, XCircle as a } from "lucide-react";
|
|
3
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
4
|
+
import { Card as c, CardContent as l, CardHeader as u, CardTitle as d } from "@burdenoff/fe-libs/ui";
|
|
5
|
+
//#region src/mybodyshield/pages/ProviderCalendarPage.tsx
|
|
6
|
+
function f() {
|
|
7
|
+
let { appointments: f } = e(), p = f.filter((e) => e.type === "in-person").length, m = f.filter((e) => e.type === "telemedicine").length, h = f.filter((e) => e.status === "cancelled").length;
|
|
8
|
+
return /* @__PURE__ */ s("div", {
|
|
9
|
+
className: "space-y-6 p-6",
|
|
10
|
+
children: [
|
|
11
|
+
/* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("h1", {
|
|
12
|
+
className: "text-2xl font-semibold",
|
|
13
|
+
children: "Provider Calendar"
|
|
14
|
+
}), /* @__PURE__ */ o("p", {
|
|
15
|
+
className: "text-sm text-muted-foreground",
|
|
16
|
+
children: "Manage your appointment schedule and patient visits"
|
|
17
|
+
})] }),
|
|
18
|
+
/* @__PURE__ */ s("div", {
|
|
19
|
+
className: "grid gap-4 md:grid-cols-4",
|
|
20
|
+
children: [
|
|
21
|
+
/* @__PURE__ */ s(c, { children: [/* @__PURE__ */ s(u, {
|
|
22
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
23
|
+
children: [/* @__PURE__ */ o(d, {
|
|
24
|
+
className: "text-sm font-medium",
|
|
25
|
+
children: "This Week"
|
|
26
|
+
}), /* @__PURE__ */ o(t, { className: "h-4 w-4 text-blue-500" })]
|
|
27
|
+
}), /* @__PURE__ */ s(l, { children: [/* @__PURE__ */ o("div", {
|
|
28
|
+
className: "text-2xl font-bold",
|
|
29
|
+
children: f.length
|
|
30
|
+
}), /* @__PURE__ */ o("p", {
|
|
31
|
+
className: "text-xs text-muted-foreground",
|
|
32
|
+
children: "Total appointments"
|
|
33
|
+
})] })] }),
|
|
34
|
+
/* @__PURE__ */ s(c, { children: [/* @__PURE__ */ s(u, {
|
|
35
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
36
|
+
children: [/* @__PURE__ */ o(d, {
|
|
37
|
+
className: "text-sm font-medium",
|
|
38
|
+
children: "In-Person"
|
|
39
|
+
}), /* @__PURE__ */ o(r, { className: "h-4 w-4 text-green-500" })]
|
|
40
|
+
}), /* @__PURE__ */ s(l, { children: [/* @__PURE__ */ o("div", {
|
|
41
|
+
className: "text-2xl font-bold",
|
|
42
|
+
children: p
|
|
43
|
+
}), /* @__PURE__ */ o("p", {
|
|
44
|
+
className: "text-xs text-muted-foreground",
|
|
45
|
+
children: "Office visits"
|
|
46
|
+
})] })] }),
|
|
47
|
+
/* @__PURE__ */ s(c, { children: [/* @__PURE__ */ s(u, {
|
|
48
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
49
|
+
children: [/* @__PURE__ */ o(d, {
|
|
50
|
+
className: "text-sm font-medium",
|
|
51
|
+
children: "Telemedicine"
|
|
52
|
+
}), /* @__PURE__ */ o(i, { className: "h-4 w-4 text-cyan-500" })]
|
|
53
|
+
}), /* @__PURE__ */ s(l, { children: [/* @__PURE__ */ o("div", {
|
|
54
|
+
className: "text-2xl font-bold",
|
|
55
|
+
children: m
|
|
56
|
+
}), /* @__PURE__ */ o("p", {
|
|
57
|
+
className: "text-xs text-muted-foreground",
|
|
58
|
+
children: "Virtual visits"
|
|
59
|
+
})] })] }),
|
|
60
|
+
/* @__PURE__ */ s(c, { children: [/* @__PURE__ */ s(u, {
|
|
61
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
62
|
+
children: [/* @__PURE__ */ o(d, {
|
|
63
|
+
className: "text-sm font-medium",
|
|
64
|
+
children: "Cancelled"
|
|
65
|
+
}), /* @__PURE__ */ o(a, { className: "h-4 w-4 text-red-500" })]
|
|
66
|
+
}), /* @__PURE__ */ s(l, { children: [/* @__PURE__ */ o("div", {
|
|
67
|
+
className: "text-2xl font-bold",
|
|
68
|
+
children: h
|
|
69
|
+
}), /* @__PURE__ */ o("p", {
|
|
70
|
+
className: "text-xs text-muted-foreground",
|
|
71
|
+
children: "This period"
|
|
72
|
+
})] })] })
|
|
73
|
+
]
|
|
74
|
+
}),
|
|
75
|
+
/* @__PURE__ */ s(c, { children: [/* @__PURE__ */ o(u, { children: /* @__PURE__ */ o(d, { children: "Schedule" }) }), /* @__PURE__ */ o(l, { children: /* @__PURE__ */ o("div", {
|
|
76
|
+
className: "space-y-3",
|
|
77
|
+
children: f.map((e) => /* @__PURE__ */ s("div", {
|
|
78
|
+
className: "flex items-center justify-between p-3 rounded-lg bg-muted/50",
|
|
79
|
+
children: [/* @__PURE__ */ s("div", {
|
|
80
|
+
className: "flex items-center gap-3",
|
|
81
|
+
children: [/* @__PURE__ */ o("div", {
|
|
82
|
+
className: `p-2 rounded-full ${e.type === "telemedicine" ? "bg-cyan-100" : "bg-blue-100"}`,
|
|
83
|
+
children: e.type === "telemedicine" ? /* @__PURE__ */ o(i, { className: "h-4 w-4 text-cyan-600" }) : /* @__PURE__ */ o(r, { className: "h-4 w-4 text-blue-600" })
|
|
84
|
+
}), /* @__PURE__ */ s("div", { children: [
|
|
85
|
+
/* @__PURE__ */ o("p", {
|
|
86
|
+
className: "text-sm font-medium",
|
|
87
|
+
children: e.patientName
|
|
88
|
+
}),
|
|
89
|
+
/* @__PURE__ */ s("p", {
|
|
90
|
+
className: "text-xs text-muted-foreground",
|
|
91
|
+
children: [
|
|
92
|
+
e.specialty,
|
|
93
|
+
" · ",
|
|
94
|
+
e.reason
|
|
95
|
+
]
|
|
96
|
+
}),
|
|
97
|
+
/* @__PURE__ */ o("p", {
|
|
98
|
+
className: "text-xs text-muted-foreground",
|
|
99
|
+
children: e.location
|
|
100
|
+
})
|
|
101
|
+
] })]
|
|
102
|
+
}), /* @__PURE__ */ s("div", {
|
|
103
|
+
className: "text-right",
|
|
104
|
+
children: [
|
|
105
|
+
/* @__PURE__ */ o("p", {
|
|
106
|
+
className: "text-sm font-medium",
|
|
107
|
+
children: e.date
|
|
108
|
+
}),
|
|
109
|
+
/* @__PURE__ */ s("p", {
|
|
110
|
+
className: "text-xs text-muted-foreground flex items-center justify-end gap-1",
|
|
111
|
+
children: [/* @__PURE__ */ o(n, { className: "h-3 w-3" }), e.time]
|
|
112
|
+
}),
|
|
113
|
+
/* @__PURE__ */ o("span", {
|
|
114
|
+
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-red-100 text-red-700"}`,
|
|
115
|
+
children: e.status
|
|
116
|
+
})
|
|
117
|
+
]
|
|
118
|
+
})]
|
|
119
|
+
}, e.id))
|
|
120
|
+
}) })] })
|
|
121
|
+
]
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
//#endregion
|
|
125
|
+
export { f as ProviderCalendarPage };
|
|
126
|
+
|
|
127
|
+
//# sourceMappingURL=ProviderCalendarPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderCalendarPage.js","names":[],"sources":["../../../src/mybodyshield/pages/ProviderCalendarPage.tsx"],"sourcesContent":["import { Card, CardContent, CardHeader, CardTitle } from '@burdenoff/fe-libs/ui';\nimport { Calendar, Users, Video, XCircle, Clock } from 'lucide-react';\nimport { useMyBodyShieldStore } from '../store/mybodyshieldStore';\n\nexport function ProviderCalendarPage() {\n const { appointments } = useMyBodyShieldStore();\n const inPerson = appointments.filter((a) => a.type === 'in-person').length;\n const telemedicine = appointments.filter((a) => a.type === 'telemedicine').length;\n const cancelled = appointments.filter((a) => a.status === 'cancelled').length;\n\n return (\n <div className=\"space-y-6 p-6\">\n <div>\n <h1 className=\"text-2xl font-semibold\">Provider Calendar</h1>\n <p className=\"text-sm text-muted-foreground\">\n Manage your appointment schedule and patient visits\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\">This Week</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\">Total appointments</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\">In-Person</CardTitle>\n <Users className=\"h-4 w-4 text-green-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{inPerson}</div>\n <p className=\"text-xs text-muted-foreground\">Office visits</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\">Telemedicine</CardTitle>\n <Video className=\"h-4 w-4 text-cyan-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{telemedicine}</div>\n <p className=\"text-xs text-muted-foreground\">Virtual visits</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\">Cancelled</CardTitle>\n <XCircle className=\"h-4 w-4 text-red-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{cancelled}</div>\n <p className=\"text-xs text-muted-foreground\">This period</p>\n </CardContent>\n </Card>\n </div>\n\n <Card>\n <CardHeader>\n <CardTitle>Schedule</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 className=\"flex items-center gap-3\">\n <div\n className={`p-2 rounded-full ${appt.type === 'telemedicine' ? 'bg-cyan-100' : 'bg-blue-100'}`}\n >\n {appt.type === 'telemedicine' ? (\n <Video className=\"h-4 w-4 text-cyan-600\" />\n ) : (\n <Users className=\"h-4 w-4 text-blue-600\" />\n )}\n </div>\n <div>\n <p className=\"text-sm font-medium\">{appt.patientName}</p>\n <p className=\"text-xs text-muted-foreground\">\n {appt.specialty} · {appt.reason}\n </p>\n <p className=\"text-xs text-muted-foreground\">{appt.location}</p>\n </div>\n </div>\n <div className=\"text-right\">\n <p className=\"text-sm font-medium\">{appt.date}</p>\n <p className=\"text-xs text-muted-foreground flex items-center justify-end gap-1\">\n <Clock className=\"h-3 w-3\" />\n {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-red-100 text-red-700'}`}\n >\n {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":"ProviderCarePlansPage.d.ts","sourceRoot":"","sources":["../../../src/mybodyshield/pages/ProviderCarePlansPage.tsx"],"names":[],"mappings":"AAUA,wBAAgB,qBAAqB,4CA2HpC"}
|