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