From 6d593726a5b9816aa37ae394f321fbc06e536e12 Mon Sep 17 00:00:00 2001
From: augmentedpotato
Date: Mon, 20 Apr 2026 19:19:30 -0600
Subject: [PATCH] Comments, appointments adjustments, fixed some issues
---
.../resources/db/migration/V2__seed_data.sql | 1 +
web/app/about/page.js | 2 +
web/app/adopt/[id]/page.js | 2 +
web/app/adopt/page.js | 10 +
web/app/ai-chat/page.js | 13 +
web/app/api/[...path]/route.js | 4 +
web/app/appointments/page.js | 321 +++++++++++++-----
web/app/cart/page.js | 16 +-
web/app/chat/page.js | 11 +
web/app/contact/page.js | 4 +
web/app/forgot-password/page.js | 2 +
web/app/layout.js | 3 +
web/app/login/page.js | 4 +
web/app/page.js | 4 +
web/app/products/[id]/page.js | 1 +
web/app/products/page.js | 3 +
web/app/profile/page.js | 16 +-
web/app/register/page.js | 4 +
web/app/reset-password/page.js | 2 +
web/components/ClientProviders.js | 1 +
web/components/FloatingChat.js | 7 +-
web/components/Footer.js | 2 +
web/components/Navigation.js | 6 +
web/components/PetCard.js | 1 +
web/components/PetProfile.js | 9 +-
web/components/ProductCard.js | 3 +
web/components/ProductProfile.js | 9 +-
web/components/petUtils.js | 2 +
web/context/AuthContext.js | 11 +
web/context/CartContext.js | 9 +
web/context/ChatWidgetContext.js | 17 +-
web/lib/cartApi.js | 3 +
web/lib/chatSocket.js | 2 +
web/lib/fetchAllPages.js | 1 +
34 files changed, 402 insertions(+), 104 deletions(-)
diff --git a/backend/src/main/resources/db/migration/V2__seed_data.sql b/backend/src/main/resources/db/migration/V2__seed_data.sql
index 88d3835b..d86626a7 100644
--- a/backend/src/main/resources/db/migration/V2__seed_data.sql
+++ b/backend/src/main/resources/db/migration/V2__seed_data.sql
@@ -199,6 +199,7 @@ INSERT INTO service_species (serviceId, species) VALUES
(1, 'Dog'),
(1, 'Cat'),
(1, 'Rabbit'),
+(1, 'Bird'),
(2, 'Dog'),
(2, 'Cat'),
(2, 'Rabbit'),
diff --git a/web/app/about/page.js b/web/app/about/page.js
index b15ad5e6..7695e81d 100644
--- a/web/app/about/page.js
+++ b/web/app/about/page.js
@@ -1,3 +1,5 @@
+//About page
+//Three info cards covering what the store does, its focus, and how to visit
export default function AboutPage() {
return (
diff --git a/web/app/adopt/[id]/page.js b/web/app/adopt/[id]/page.js
index 9a1ae6d3..ad31e4c5 100644
--- a/web/app/adopt/[id]/page.js
+++ b/web/app/adopt/[id]/page.js
@@ -7,6 +7,8 @@ import PetProfile from "@/components/PetProfile";
const API_BASE = "";
+//Pet detail page
+//Fetches a single pet by ID and passes it to PetProfile
export default function PetDetailPage() {
const { id } = useParams();
const [pet, setPet] = useState(null);
diff --git a/web/app/adopt/page.js b/web/app/adopt/page.js
index 7cc23723..472c9d90 100644
--- a/web/app/adopt/page.js
+++ b/web/app/adopt/page.js
@@ -5,6 +5,8 @@ import PetCard from "@/components/PetCard";
import { fetchAllPages } from "@/lib/fetchAllPages";
import { useCart } from "@/context/CartContext";
+//Adopt page
+//Browse available pets with species/breed filters and search
const API_BASE = "";
const PAGE_SIZE = 10000;
@@ -12,6 +14,8 @@ const inputCls = "px-4 py-[0.6rem] border-2 border-[#ddd] rounded-md text-base o
const btnPrimaryCls = "px-[1.4rem] py-[0.6rem] bg-[#e68672] text-white border-none rounded-md text-base cursor-pointer transition-colors hover:bg-[#d4705e]";
const btnOutlineCls = "px-4 py-[0.6rem] bg-transparent text-[#666] border-2 border-[#ddd] rounded-md text-base cursor-pointer transition-all hover:border-[#aaa] hover:text-[#333]";
+//Pagination button
+//Highlighted when it represents the current page
function PaginationBtn({ children, active, ...props }) {
return (
) : (
-
- {filteredActive.map((a) => (
-
-
- {a.serviceName}
-
- {a.appointmentStatus}
-
-
-
- {a.storeName}
- {a.appointmentDate} at {formatTime(a.appointmentTime)}
-
- {a.petName && (
-
Pet: {a.petName}
- )}
-
-
+ <>
+
+ {apptSlice.map((a) => (
+
+
+ {a.serviceName}
+
+ {a.appointmentStatus}
+
+
+
+ {a.storeName}
+ {a.appointmentDate} at {formatTime(a.appointmentTime)}
+
+ {a.petName && (
+
Pet: {a.petName}
+ )}
+
+
+
+ ))}
+
+ {apptTotalPages > 1 && (
+
+
+ Page {apptPage + 1} of {apptTotalPages}
+
- ))}
-
+ )}
+ >
)}
{pastAppts.length > 0 && (
-