From ebe17d0c9d096e4ad0bb8d045182e70ce51d2037 Mon Sep 17 00:00:00 2001 From: bender Date: Sun, 26 Apr 2026 20:02:59 +0000 Subject: [PATCH 1/2] Add src/app/calendar/page.tsx --- src/app/calendar/page.tsx | 58 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/app/calendar/page.tsx diff --git a/src/app/calendar/page.tsx b/src/app/calendar/page.tsx new file mode 100644 index 0000000..9afa86d --- /dev/null +++ b/src/app/calendar/page.tsx @@ -0,0 +1,58 @@ +"use client"; + +import { useState } from "react"; +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import { Calendar, Plus, Trash2, Edit } from "lucide-react"; + +type Exercise = { id: string; name: string; reps: string; sets: string }; +type DayData = { [date: string]: Exercise[] }; + +export default function CalendarPage() { + const [data, setData] = useState({}); + const [selectedDate, setSelectedDate] = useState("2025-05-20"); + const [newExercise, setNewExercise] = useState({ name: "", reps: "", sets: "" }); + + const addExercise = () => { + if (!newExercise.name) return; + setData(prev => ({ + ...prev, + [selectedDate]: [...(prev[selectedDate] || []), { ...newExercise, id: Date.now().toString() }] + })); + setNewExercise({ name: "", reps: "", sets: "" }); + }; + + return ( + +
+

Workout Calendar

+
+
+

Select Day: {selectedDate}

+
+ setNewExercise({...newExercise, name: e.target.value})} + /> +
+ setNewExercise({...newExercise, sets: e.target.value})} /> + setNewExercise({...newExercise, reps: e.target.value})} /> +
+ +
+
+
+

Exercises for {selectedDate}

+ {(data[selectedDate] || []).map(ex => ( +
+ {ex.name} - {ex.sets} sets x {ex.reps} reps + +
+ ))} +
+
+
+
+ ); +} \ No newline at end of file -- 2.49.1 From c6f70f28f5ce2e0e768ecac6c968772f3b70e8ae Mon Sep 17 00:00:00 2001 From: bender Date: Sun, 26 Apr 2026 20:02:59 +0000 Subject: [PATCH 2/2] Update src/app/page.tsx --- src/app/page.tsx | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 85f2e31..a6f9770 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -72,21 +72,21 @@ export default function LandingPage() { useInvertedBackground={false} features={[ { - title: "Weight Logging", description: "Quickly input weight and reps for every set.", phoneOne: { imageSrc: "http://img.b2bpic.net/free-photo/trainer-helping-beginner-gym_23-2149561882.jpg?_wi=1", imageAlt: "mobile app ui gym" }, + title: "Muscle Group Filter", description: "Categorize your training by Shoulders, Chest, Biceps, Triceps, Quads, and Hamstrings.", phoneOne: { imageSrc: "http://img.b2bpic.net/free-photo/trainer-helping-beginner-gym_23-2149561882.jpg?_wi=1", imageAlt: "mobile app ui gym" }, phoneTwo: { imageSrc: "http://img.b2bpic.net/free-photo/portrait-male-athlete-using-mobile-phone-stadium_23-2148162126.jpg", imageAlt: "mobile app ui gym" }, }, { - title: "Progress Metrics", description: "Visualise your strength trends over months.", phoneOne: { imageSrc: "http://img.b2bpic.net/free-photo/fitness-woman-doing-yoga-with-mobile-app_23-2148952553.jpg", imageAlt: "mobile app ui gym" }, + title: "Progress Metrics", description: "Visualise your strength trends over months.", phoneOne: { imageSrc: "http://img.b2bpic.net/free-photo/fitness-woman-doing-yoga-with-mobile-app_23-2148952553.jpg", imageAlt: "mobile app ui gym" }, phoneTwo: { imageSrc: "http://img.b2bpic.net/free-photo/woman-with-smartphone-gym_23-2147688130.jpg", imageAlt: "mobile app ui gym" }, }, { - title: "Muscle Mapping", description: "Keep tabs on volume per muscle group.", phoneOne: { imageSrc: "http://img.b2bpic.net/free-photo/woman-gym-with-smartphone-template_23-2148111597.jpg", imageAlt: "mobile app ui gym" }, + title: "Muscle Mapping", description: "Keep tabs on volume per muscle group.", phoneOne: { imageSrc: "http://img.b2bpic.net/free-photo/woman-gym-with-smartphone-template_23-2148111597.jpg", imageAlt: "mobile app ui gym" }, phoneTwo: { imageSrc: "http://img.b2bpic.net/free-photo/representation-user-experience-interface-design_23-2150169856.jpg", imageAlt: "mobile app ui gym" }, }, ]} showStepNumbers={true} - title="Comprehensive Tracking" - description="Never wonder what your PR is again. Track your compound lifts and isolated movements with precision." + title="Categorized Tracking" + description="Organize your lifts by specific muscle groups for better data insights and targeted growth." /> @@ -97,17 +97,17 @@ export default function LandingPage() { useInvertedBackground={false} plans={[ { - id: "p1", title: "Push Day", price: "Mon/Thu", period: "Focus", features: ["Chest", "Shoulders", "Triceps"], + id: "p1", title: "Push Day", price: "Mon/Thu", period: "Focus", features: ["Chest", "Shoulders", "Triceps"], button: { text: "View Routine" }, - imageSrc: "http://img.b2bpic.net/free-photo/close-up-fit-woman-holding-device_23-2149168693.jpg", imageAlt: "workout calendar app"}, + imageSrc: "http://img.b2bpic.net/free-photo/close-up-fit-woman-holding-device_23-2149168693.jpg", imageAlt: "workout calendar app"}, { - id: "p2", title: "Pull Day", price: "Tue/Fri", period: "Focus", features: ["Back", "Biceps", "Rear Delts"], + id: "p2", title: "Pull Day", price: "Tue/Fri", period: "Focus", features: ["Back", "Biceps", "Rear Delts"], button: { text: "View Routine" }, - imageSrc: "http://img.b2bpic.net/free-photo/silhouette-man-gym_23-2148024303.jpg?_wi=2", imageAlt: "workout calendar app"}, + imageSrc: "http://img.b2bpic.net/free-photo/silhouette-man-gym_23-2148024303.jpg?_wi=2", imageAlt: "workout calendar app"}, { - id: "p3", title: "Leg Day", price: "Wed/Sat", period: "Focus", features: ["Quads", "Hamstrings", "Calves"], + id: "p3", title: "Leg Day", price: "Wed/Sat", period: "Focus", features: ["Quads", "Hamstrings", "Calves"], button: { text: "View Routine" }, - imageSrc: "http://img.b2bpic.net/free-photo/trainer-helping-beginner-gym_23-2149561882.jpg?_wi=2", imageAlt: "workout calendar app"}, + imageSrc: "http://img.b2bpic.net/free-photo/trainer-helping-beginner-gym_23-2149561882.jpg?_wi=2", imageAlt: "workout calendar app"}, ]} title="Training Calendar" description="Organize your split. A perfect visual guide for PPL, Upper/Lower, or Full Body splits." @@ -183,4 +183,4 @@ export default function LandingPage() { ); -} \ No newline at end of file +} -- 2.49.1