diff --git a/src/app/page.tsx b/src/app/page.tsx
index aa06db6..6160afd 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -1,6 +1,7 @@
import FilterMenu from "@/components/FilterMenu";
import Navbar from "@/components/Navbar";
import RecipeSummary from "@/components/RecipeSummary";
+import WeeklyMenu from "@/components/WeeklyMenu";
import ComboCard from "@/components/ComboCard";
export default function Home() {
@@ -21,6 +22,7 @@ export default function Home() {
Dashboard
Hello world!
+
diff --git a/src/components/WeeklyMenu.tsx b/src/components/WeeklyMenu.tsx
new file mode 100644
index 0000000..cb66408
--- /dev/null
+++ b/src/components/WeeklyMenu.tsx
@@ -0,0 +1,67 @@
+"use client";
+import { useState } from "react";
+import { ChevronLeft, ChevronRight } from "lucide-react";
+
+interface WeeklyMenuProps {
+ dateToday: Date;
+}
+
+const getOffsetDate = (date: Date, offset: number) => {
+ const newDate = new Date(date);
+ newDate.setDate(date.getDate() + offset * 7);
+ return newDate;
+};
+
+const getCurrentWeekDates = (today: Date) => {
+ const dayOfWeek = today.getDay(); // 0 (Sun) - 6 (Sat)
+ const startOfWeek = new Date(today);
+ startOfWeek.setDate(today.getDate() - dayOfWeek + 1); // start from Monday
+
+ return Array.from({ length: 5 }, (_, i) => {
+ const date = new Date(startOfWeek);
+ date.setDate(startOfWeek.getDate() + i);
+ return date;
+ });
+};
+
+export default function WeeklyMenu({ dateToday }: WeeklyMenuProps) {
+ const [weekOffset, setWeekOffset] = useState(0);
+ const weekDates = getCurrentWeekDates(getOffsetDate(dateToday, weekOffset));
+
+ return (
+
+
+
+
+ {weekDates.map((date, idx) => (
+
+
+ {date.toLocaleDateString(undefined, { weekday: "short" }).toUpperCase()}
+
+
+ {String(date.getDate()).padStart(2, "0")}
+
+
+
+ ))}
+
+
+
+
+ );
+}