From 46f40f132fe5900012d74e6e042931a1dae91afb Mon Sep 17 00:00:00 2001
From: Rudra Patel <patelrudra2003@gmail.com>
Date: Mon, 20 Jan 2025 21:02:28 -0500
Subject: [PATCH] f

---
 .../admin/programs/healthy-habits/page.tsx    | 12 +++++----
 .../HealthyHabitsClientDashboard.tsx          | 26 +++++++------------
 .../HealthyHabitsMetrics.tsx                  |  8 ++++--
 .../HealthyHabitsDashboard/index.tsx          | 20 +++++++-------
 src/server/api/program-enrollments/queries.ts |  6 ++---
 5 files changed, 36 insertions(+), 36 deletions(-)

diff --git a/src/app/dashboard/admin/programs/healthy-habits/page.tsx b/src/app/dashboard/admin/programs/healthy-habits/page.tsx
index 05257a7..d33fd20 100644
--- a/src/app/dashboard/admin/programs/healthy-habits/page.tsx
+++ b/src/app/dashboard/admin/programs/healthy-habits/page.tsx
@@ -1,11 +1,11 @@
 import { Box, Typography } from "@mui/material";
 
 import HealthyHabitsDashboard from "@/components/AdminDashboard/HealthyHabitsDashboard";
-import { getHealthHabitsProgramEnrollments } from "@/server/api/program-enrollments/queries";
+import { getHealthyHabitsProgramEnrollments } from "@/server/api/program-enrollments/queries";
 
 export default async function HealthyHabits() {
-  const [healthHabitsProgramEnrollments, error] =
-    await getHealthHabitsProgramEnrollments();
+  const [healthyHabitsProgramEnrollments, error] =
+    await getHealthyHabitsProgramEnrollments();
 
   if (error !== null) {
     return (
@@ -25,14 +25,16 @@ export default async function HealthyHabits() {
   return (
     <Box
       sx={{
-        height: "100vh",
         display: "flex",
+        flexDirection: "column",
         justifyContent: "center",
         alignItems: "center",
+        marginTop: "100px",
+        padding: 4,
       }}
     >
       <HealthyHabitsDashboard
-        healthHabitsProgramEnrollments={healthHabitsProgramEnrollments}
+        healthyHabitsProgramEnrollments={healthyHabitsProgramEnrollments}
       />
     </Box>
   );
diff --git a/src/components/AdminDashboard/HealthyHabitsDashboard/HealthyHabitsClientDashboard.tsx b/src/components/AdminDashboard/HealthyHabitsDashboard/HealthyHabitsClientDashboard.tsx
index 916767c..4ed7f19 100644
--- a/src/components/AdminDashboard/HealthyHabitsDashboard/HealthyHabitsClientDashboard.tsx
+++ b/src/components/AdminDashboard/HealthyHabitsDashboard/HealthyHabitsClientDashboard.tsx
@@ -27,11 +27,7 @@ const createRowFromHealthyHabitsProgramEnrollment = (
   let completed = false;
 
   if (user.healthyHabitsTrackingForms.length > 0) {
-    const date = dayjsUtil(user.healthyHabitsTrackingForms[0]?.submittedDate);
-    const lastSunday = dayjsUtil()
-      .subtract(dayjsUtil().day(), "day")
-      .startOf("day");
-
+    const latestFormSubmission = user.healthyHabitsTrackingForms[0];
     completed = date.isSame(lastSunday, "day");
   }
 
@@ -50,42 +46,40 @@ function getRows(programEnrollments: ProgramEnrollment[]): Row[] {
 }
 
 type HealthyHabitsClientDashboardProps = {
-  healthHabitsProgramEnrollments: ProgramEnrollment[];
+  healthyHabitsProgramEnrollments: ProgramEnrollment[];
 };
 
 export default function HealthyHabitsClientDashboard({
-  healthHabitsProgramEnrollments,
+  healthyHabitsProgramEnrollments,
 }: HealthyHabitsClientDashboardProps) {
-  const rows = getRows(healthHabitsProgramEnrollments);
+  const rows = getRows(healthyHabitsProgramEnrollments);
   const [searchQuery, setSearchQuery] = useState("");
 
   const columns: GridColDef<Row>[] = [
     {
       field: "firstName",
       headerName: "First name",
-      width: 150,
+      flex: 1,
     },
     {
       field: "lastName",
       headerName: "Last name",
-      width: 150,
+      flex: 1,
     },
     {
       field: "phoneNumber",
       headerName: "Phone Number",
-      width: 125,
+      flex: 1,
     },
     {
       field: "email",
       headerName: "Email",
-      minWidth: 200,
-      flex: 1,
+      flex: 2,
     },
     {
       field: "competed",
-      headerName: "Completed",
+      headerName: "Completed tracking form this week?",
       sortable: false,
-      minWidth: 100,
       flex: 1,
       renderCell: (params) => {
         const completed = params.row.completed;
@@ -120,7 +114,7 @@ export default function HealthyHabitsClientDashboard({
     <>
       <Box>
         <Typography align="center" variant="h4" sx={{ m: 2 }}>
-          Health Habits
+          Healthy Habits Clients
         </Typography>
         <Box display="flex" alignItems="center" sx={{ py: 2 }}>
           <TextField
diff --git a/src/components/AdminDashboard/HealthyHabitsDashboard/HealthyHabitsMetrics.tsx b/src/components/AdminDashboard/HealthyHabitsDashboard/HealthyHabitsMetrics.tsx
index 732df87..ddbd402 100644
--- a/src/components/AdminDashboard/HealthyHabitsDashboard/HealthyHabitsMetrics.tsx
+++ b/src/components/AdminDashboard/HealthyHabitsDashboard/HealthyHabitsMetrics.tsx
@@ -1,7 +1,11 @@
 "use client";
 
-import { Typography } from "@mui/material";
+import { Box, Typography } from "@mui/material";
 
 export default function HealthyHabitsMetrics() {
-  return <Typography>Healthy Habits Metrics</Typography>;
+  return (
+    <Box sx={{ width: "100%", display: "flex", justifyContent: "center" }}>
+      <Typography variant="h6">Metrics</Typography>
+    </Box>
+  );
 }
diff --git a/src/components/AdminDashboard/HealthyHabitsDashboard/index.tsx b/src/components/AdminDashboard/HealthyHabitsDashboard/index.tsx
index 0479a27..f4d10cc 100644
--- a/src/components/AdminDashboard/HealthyHabitsDashboard/index.tsx
+++ b/src/components/AdminDashboard/HealthyHabitsDashboard/index.tsx
@@ -10,11 +10,11 @@ import { ProgramEnrollment } from "@/types";
 type HealthyHabitsSections = "clients" | "metrics";
 
 type HealthyHabitsDashboardProps = {
-  healthHabitsProgramEnrollments: ProgramEnrollment[];
+  healthyHabitsProgramEnrollments: ProgramEnrollment[];
 };
 
 export default function HealthyHabitsDashboard({
-  healthHabitsProgramEnrollments,
+  healthyHabitsProgramEnrollments,
 }: HealthyHabitsDashboardProps) {
   const [selectedSection, setSelectedSection] =
     useState<HealthyHabitsSections>("clients");
@@ -31,7 +31,7 @@ export default function HealthyHabitsDashboard({
       case "clients":
         return (
           <HealthyHabitsClientDashboard
-            healthHabitsProgramEnrollments={healthHabitsProgramEnrollments}
+            healthyHabitsProgramEnrollments={healthyHabitsProgramEnrollments}
           />
         );
       case "metrics":
@@ -46,17 +46,15 @@ export default function HealthyHabitsDashboard({
       <Box
         sx={{
           display: "flex",
-          justifyContent: "flex-start",
-          alignItems: "center",
           flexDirection: "column",
-          width: "95%",
-          height: "75%",
-          marginTop: "100px",
+          justifyContent: "center",
+          alignItems: "center",
+          width: "100%",
         }}
       >
         <Box
           sx={{
-            width: "100%",
+            alignSelf: "flex-start",
           }}
         >
           <Tabs
@@ -69,7 +67,9 @@ export default function HealthyHabitsDashboard({
             <Tab label="Metrics" value="metrics" />
           </Tabs>
         </Box>
-        <Box sx={{ marginTop: 3 }}>{getSectionContent(selectedSection)}</Box>
+        <Box sx={{ marginTop: 3, width: "100%" }}>
+          {getSectionContent(selectedSection)}
+        </Box>
       </Box>
     </>
   );
diff --git a/src/server/api/program-enrollments/queries.ts b/src/server/api/program-enrollments/queries.ts
index 74a88e4..9514c68 100644
--- a/src/server/api/program-enrollments/queries.ts
+++ b/src/server/api/program-enrollments/queries.ts
@@ -76,12 +76,12 @@ export async function getProgramEnrollmentForUser(
   }
 }
 
-export async function getHealthHabitsProgramEnrollments(): Promise<
+export async function getHealthyHabitsProgramEnrollments(): Promise<
   ApiResponse<ProgramEnrollment[]>
 > {
   await dbConnect();
   try {
-    const healthHabitsEnrollments = ProgramEnrollmentModel.find({
+    const healthyHabitsEnrollments = await ProgramEnrollmentModel.find({
       status: "accepted",
       program: "Healthy Habits For The Long Haul",
     })
@@ -100,7 +100,7 @@ export async function getHealthHabitsProgramEnrollments(): Promise<
       .lean<ProgramEnrollment[]>()
       .exec();
 
-    return [await healthHabitsEnrollments, null];
+    return [serializeMongooseObject(healthyHabitsEnrollments), null];
   } catch (error) {
     console.error(error);
     return [null, handleMongooseError(error)];