From 71434c2e57e9f739e94c68ffe66d4e483aa6ee48 Mon Sep 17 00:00:00 2001
From: Bowie Bello <obello26@icloud.com>
Date: Wed, 10 May 2023 15:44:32 -0400
Subject: [PATCH 1/5] initial commit

---
 src/components/adminPhotoHeader.tsx | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/src/components/adminPhotoHeader.tsx b/src/components/adminPhotoHeader.tsx
index 7128fcd9..0dbc9ad0 100644
--- a/src/components/adminPhotoHeader.tsx
+++ b/src/components/adminPhotoHeader.tsx
@@ -18,16 +18,18 @@ const AdminPhotoHeader = ({ name, image, email }: IPhotoHeaderProps) => {
             src={"/student_home/header3.jpg"}
             alt={ "Photo of flowers on an old book with a faded photo of two people"}
             width={2000}
-            height={200}
+            height={150}
           />
-          <div className="absolute flex right-0 bottom-0 w-[100%] h-[90px] items-center bg-white bg-opacity-80 p-3 pl-9 backdrop-blur-sm">
-            <Image
-              className="rounded-xl"
-              src={image ?? "/student_home/profile_photo_pic.jpeg"}
-              alt={"Profile Photo"}
-              width={58.5}
-              height={58.5}
-            />
+          <div className="flex absolute right-0 bottom-0 w-[100%] h-[75px] items-center bg-white bg-opacity-80 p-3 pl-9 backdrop-blur-sm">
+            <div className="h-[58.5px] w-[58.5px]">
+              <Image
+                className="rounded-xl"
+                src={image ?? "/student_home/profile_photo_pic.jpeg"}
+                alt={"Profile Photo"}
+                width={58.5}
+                height={58.5}
+              />
+            </div>
             <div className="flex flex-col pl-3 text-neutral-600">
               <h5 className="text-lg font-bold">{name ?? "Admin"}</h5>
               <p className="text-md font-light text-neutral-400">

From a6edd857058720629b8409ac835b6fd023b30bad Mon Sep 17 00:00:00 2001
From: Bowie Bello <obello26@icloud.com>
Date: Wed, 10 May 2023 21:00:01 -0400
Subject: [PATCH 2/5] Hooked up name, email, img to photoheader

---
 src/components/adminPhotoHeader.tsx | 45 ----------------
 src/components/photoHeader.tsx      | 46 +++++++++-------
 src/pages/student-home.tsx          | 82 +++++++++++++++++++++++++++--
 3 files changed, 104 insertions(+), 69 deletions(-)
 delete mode 100644 src/components/adminPhotoHeader.tsx

diff --git a/src/components/adminPhotoHeader.tsx b/src/components/adminPhotoHeader.tsx
deleted file mode 100644
index 0dbc9ad0..00000000
--- a/src/components/adminPhotoHeader.tsx
+++ /dev/null
@@ -1,45 +0,0 @@
-// Photo Header for Student Home Page
-
-import React from "react";
-import Image from "next/image";
-
-export interface IPhotoHeaderProps {
-  name: string | null;
-  image: string | null;
-  email: string | null;
-}
-
-const AdminPhotoHeader = ({ name, image, email }: IPhotoHeaderProps) => {
-  return (
-    <>
-        <div className="relative flex flex-col">
-          <Image
-            className="object-cover"
-            src={"/student_home/header3.jpg"}
-            alt={ "Photo of flowers on an old book with a faded photo of two people"}
-            width={2000}
-            height={150}
-          />
-          <div className="flex absolute right-0 bottom-0 w-[100%] h-[75px] items-center bg-white bg-opacity-80 p-3 pl-9 backdrop-blur-sm">
-            <div className="h-[58.5px] w-[58.5px]">
-              <Image
-                className="rounded-xl"
-                src={image ?? "/student_home/profile_photo_pic.jpeg"}
-                alt={"Profile Photo"}
-                width={58.5}
-                height={58.5}
-              />
-            </div>
-            <div className="flex flex-col pl-3 text-neutral-600">
-              <h5 className="text-lg font-bold">{name ?? "Admin"}</h5>
-              <p className="text-md font-light text-neutral-400">
-                {email ?? "email@legacy.org"}
-              </p>
-            </div>
-          </div>
-        </div>
-    </>
-  );
-};
-
-export default AdminPhotoHeader;
\ No newline at end of file
diff --git a/src/components/photoHeader.tsx b/src/components/photoHeader.tsx
index 57152b09..b6b54b5d 100644
--- a/src/components/photoHeader.tsx
+++ b/src/components/photoHeader.tsx
@@ -3,37 +3,43 @@
 import React from "react";
 import Image from "next/image";
 
-const PhotoHeader = () => {
+export interface IPhotoHeaderProps {
+  name: string | null;
+  image: string | null;
+  email: string | null;
+}
+
+const PhotoHeader = ({ name, image, email }: IPhotoHeaderProps) => {
   return (
     <>
-      <div className="pb-9">
-        <div className="relative m-4 md:m-5 lg:m-9">
+        <div className="relative flex flex-col">
           <Image
-            className="rounded-2xl object-cover"
+            className="object-cover"
             src={"/student_home/header3.jpg"}
-            alt={
-              "Photo of flowers on an old book with a faded photo of two people"
-            }
+            alt={ "Photo of flowers on an old book with a faded photo of two people"}
             width={2000}
-            height={500}
+            height={150}
           />
-          <div className="absolute right-0 -bottom-12 flex h-20 w-[98%] items-center rounded-2xl bg-white bg-opacity-90 p-3 backdrop-blur-sm md:-bottom-10">
-            <Image
-              className="rounded-xl"
-              src={"/student_home/profile_photo_pic.jpeg"}
-              alt={"Profile Photo"}
-              width={58.5}
-              height={58.5}
-            />
+          <div className="flex absolute right-0 bottom-0 w-[100%] h-[75px] items-center bg-white bg-opacity-80 p-3 pl-9 backdrop-blur-sm">
+            <div className="h-[58.5px] w-[58.5px]">
+              <Image
+                className="rounded-xl"
+                src={image ?? "/student_home/profile_photo_pic.jpeg"}
+                alt={"Profile Photo"}
+                width={58.5}
+                height={58.5}
+              />
+            </div>
             <div className="flex flex-col pl-3 text-neutral-600">
-              <h5 className="text-base font-bold">Angela Han</h5>
-              <p className="text-sm">email@legacy.org</p>
+              <h5 className="text-lg font-bold">{name ?? "Admin"}</h5>
+              <p className="text-md font-light text-neutral-400">
+                {email ?? "email@legacy.org"}
+              </p>
             </div>
           </div>
         </div>
-      </div>
     </>
   );
 };
 
-export default PhotoHeader;
+export default PhotoHeader;
\ No newline at end of file
diff --git a/src/pages/student-home.tsx b/src/pages/student-home.tsx
index b5f7ba04..ddde159a 100644
--- a/src/pages/student-home.tsx
+++ b/src/pages/student-home.tsx
@@ -1,10 +1,25 @@
-import type { NextPage } from "next";
+import type { GetServerSidePropsContext, NextPage } from "next";
 import Head from "next/head";
 import PhotoHeader from "@components/photoHeader";
-
+import { Approval, Senior, User } from "@prisma/client";
+import { useRouter } from "next/router";
+import { getServerAuthSession } from "@server/common/get-server-auth-session";
 import { SeniorGrid } from "@components/profileTile";
+import { useCallback, useMemo, useState } from "react";
+import { TileData } from "@components/profileTile/profileTile";
+
+
+type IStudentProps = Awaited<ReturnType<typeof getServerSideProps>>["props"] & {
+  redirect: undefined;
+};
+
+const Home: NextPage<IStudentProps> = ({
+  me, 
+  seniors
+}) => {
+
+
 
-const Home: NextPage = () => {
   return (
     <>
       <Head>
@@ -13,7 +28,7 @@ const Home: NextPage = () => {
       </Head>
 
       <div className="h-max bg-taupe">
-        <PhotoHeader />
+        <PhotoHeader name={me.name} image={me.image} email={me.email}/>
         <div className="px-3 md:px-5 lg:px-9">
           <h1 className="mt-1 text-xl font-semibold">My Senior</h1>
           <button className="my-3 inline-block h-0.5 w-1/3 min-w-[2in] bg-dark-teal md:w-[12%] lg:w-[12%] xl:w-[12%] 2xl:w-[12%]"></button>
@@ -28,3 +43,62 @@ const Home: NextPage = () => {
 Home.displayName = "private";
 
 export default Home;
+
+export const getServerSideProps = async (
+  context: GetServerSidePropsContext
+) => {
+  const session = await getServerAuthSession(context);
+
+  if (!session || !session.user) {
+    return {
+      redirect: {
+        destination: "/",
+        permanent: false,
+      },
+    };
+  }
+
+  if (!prisma) {
+    return {
+      redirect: {
+        destination: "/",
+        permanent: false,
+      },
+    };
+  }
+
+  const user = await prisma.user.findUnique({
+    where: {
+      id: session.user.id,
+    },
+  });
+
+  if (!user) {
+    return {
+      redirect: {
+        destination: "/",
+        permanent: false,
+      },
+    };
+  }
+
+  const seniors = await prisma.senior.findMany();
+  const users = await prisma.user.findMany();
+  const students = users.filter(
+    ({ approved }) => approved === Approval.APPROVED
+  );
+  const pending = users.filter(({ approved }) => approved === Approval.PENDING);
+  const deactivated = users.filter(
+    ({ approved }) => approved === Approval.DENIED
+  );
+
+  return {
+    props: {
+      me: user,
+      students,
+      pending,
+      deactivated,
+      seniors,
+    },
+  };
+};

From af1bdc2104c5cc6f5f4536a2cbdc2c9a0e9b6e6f Mon Sep 17 00:00:00 2001
From: Bowie Bello <obello26@icloud.com>
Date: Wed, 10 May 2023 21:00:23 -0400
Subject: [PATCH 3/5] forgot to include in last commit oops

---
 src/pages/admin-home.tsx | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/pages/admin-home.tsx b/src/pages/admin-home.tsx
index 900c430a..6dee2324 100644
--- a/src/pages/admin-home.tsx
+++ b/src/pages/admin-home.tsx
@@ -1,5 +1,5 @@
 import type { GetServerSidePropsContext, NextPage } from "next";
-import AdminPhotoHeader from "@components/adminPhotoHeader";
+import PhotoHeader from "@components/photoHeader";
 
 import Image from "next/image";
 import { getServerAuthSession } from "@server/common/get-server-auth-session";
@@ -82,7 +82,7 @@ const Home: NextPage<IAdminProps> = ({
 
   return (
     <div className="h-max w-full">
-      <AdminPhotoHeader name={me.name} image={me.image} email={me.email} />
+      <PhotoHeader name={me.name} image={me.image} email={me.email} />
       <div className="resize-y">
         <div className="flex w-full bg-white pl-9 h-[50px]">
           {tabs.map((tab) => (

From ee8a3d71db1d6ecb719915ab9dfdbf46fe5d91e9 Mon Sep 17 00:00:00 2001
From: Bowie Bello <obello26@icloud.com>
Date: Wed, 10 May 2023 21:32:59 -0400
Subject: [PATCH 4/5] made height of photoheader fixed

---
 src/components/photoHeader.tsx | 18 +++++++++++-------
 src/pages/admin-home.tsx       |  3 ++-
 2 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/src/components/photoHeader.tsx b/src/components/photoHeader.tsx
index b6b54b5d..46e95d3d 100644
--- a/src/components/photoHeader.tsx
+++ b/src/components/photoHeader.tsx
@@ -13,13 +13,17 @@ const PhotoHeader = ({ name, image, email }: IPhotoHeaderProps) => {
   return (
     <>
         <div className="relative flex flex-col">
-          <Image
-            className="object-cover"
-            src={"/student_home/header3.jpg"}
-            alt={ "Photo of flowers on an old book with a faded photo of two people"}
-            width={2000}
-            height={150}
-          />
+          <div className="h-[150px] w-full">
+            <Image
+              className="object-cover"
+              src={"/student_home/header3.jpg"}
+              alt={ "Photo of flowers on an old book with a faded photo of two people"}
+              layout="fill"
+              // width={2000}
+              // height={150}
+            />
+          </div>
+          
           <div className="flex absolute right-0 bottom-0 w-[100%] h-[75px] items-center bg-white bg-opacity-80 p-3 pl-9 backdrop-blur-sm">
             <div className="h-[58.5px] w-[58.5px]">
               <Image
diff --git a/src/pages/admin-home.tsx b/src/pages/admin-home.tsx
index 6dee2324..063e95bd 100644
--- a/src/pages/admin-home.tsx
+++ b/src/pages/admin-home.tsx
@@ -81,7 +81,8 @@ const Home: NextPage<IAdminProps> = ({
   }, [deactivated, pending, refreshData, selectedTab, seniors, students]);
 
   return (
-    <div className="h-max w-full">
+    
+    <div className="h-max w-full flex flex-col">
       <PhotoHeader name={me.name} image={me.image} email={me.email} />
       <div className="resize-y">
         <div className="flex w-full bg-white pl-9 h-[50px]">

From 0d2e2ed0bec5aba52c749408fa84b7b4acbeedcf Mon Sep 17 00:00:00 2001
From: Bowie Bello <obello26@icloud.com>
Date: Tue, 16 May 2023 14:26:46 -0400
Subject: [PATCH 5/5] Made photoheader email text darker

---
 src/components/photoHeader.tsx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/components/photoHeader.tsx b/src/components/photoHeader.tsx
index 46e95d3d..904cb0ac 100644
--- a/src/components/photoHeader.tsx
+++ b/src/components/photoHeader.tsx
@@ -36,7 +36,7 @@ const PhotoHeader = ({ name, image, email }: IPhotoHeaderProps) => {
             </div>
             <div className="flex flex-col pl-3 text-neutral-600">
               <h5 className="text-lg font-bold">{name ?? "Admin"}</h5>
-              <p className="text-md font-light text-neutral-400">
+              <p className="text-md font-light text-neutral-500">
                 {email ?? "email@legacy.org"}
               </p>
             </div>