import { useState } from "react"; import { Button } from "@/components/ui/button"; import { Card, CardContent } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { Clock, User, Users, Flame } from "lucide-react"; import { useSaasMutation } from "@/hooks/use-tygarun"; import { toast } from "sonner"; import Header from "@/components/Header"; import Footer from "@/components/Footer"; const days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]; const schedule: Record> = { Mon: [ { time: "6:00 AM", name: "HIIT Burn", trainer: "Sarah Chen", difficulty: "Advanced", capacity: "20/25" }, { time: "12:00 PM", name: "Yoga Flow", trainer: "Priya Sharma", difficulty: "All Levels", capacity: "15/30" }, { time: "5:30 PM", name: "Power Lift", trainer: "Marcus Rivera", difficulty: "Intermediate", capacity: "18/20" }, ], Tue: [ { time: "7:00 AM", name: "Yoga Flow", trainer: "Priya Sharma", difficulty: "All Levels", capacity: "12/25" }, { time: "12:00 PM", name: "Power Lift", trainer: "Marcus Rivera", difficulty: "Intermediate", capacity: "16/20" }, { time: "6:30 PM", name: "Box Fit", trainer: "Dante Williams", difficulty: "Advanced", capacity: "22/25" }, ], Wed: [ { time: "6:00 AM", name: "HIIT Burn", trainer: "Sarah Chen", difficulty: "Advanced", capacity: "19/25" }, { time: "10:00 AM", name: "Pilates Core", trainer: "Priya Sharma", difficulty: "All Levels", capacity: "10/20" }, { time: "5:30 PM", name: "Strength Circuit", trainer: "Marcus Rivera", difficulty: "Intermediate", capacity: "17/20" }, ], Thu: [ { time: "7:00 AM", name: "Box Fit", trainer: "Dante Williams", difficulty: "Intermediate", capacity: "14/25" }, { time: "12:00 PM", name: "Yoga Flow", trainer: "Priya Sharma", difficulty: "All Levels", capacity: "8/25" }, { time: "6:00 PM", name: "HIIT Burn", trainer: "Sarah Chen", difficulty: "Advanced", capacity: "23/25" }, ], Fri: [ { time: "6:00 AM", name: "Power Lift", trainer: "Marcus Rivera", difficulty: "Advanced", capacity: "18/20" }, { time: "10:00 AM", name: "Stretch & Recover", trainer: "Priya Sharma", difficulty: "All Levels", capacity: "6/20" }, { time: "5:00 PM", name: "Fight Club", trainer: "Dante Williams", difficulty: "Advanced", capacity: "20/25" }, ], Sat: [ { time: "8:00 AM", name: "Full Body Blast", trainer: "Sarah Chen", difficulty: "Intermediate", capacity: "22/30" }, { time: "10:00 AM", name: "Yoga Flow", trainer: "Priya Sharma", difficulty: "All Levels", capacity: "15/25" }, ], Sun: [ { time: "9:00 AM", name: "Recovery Yoga", trainer: "Priya Sharma", difficulty: "All Levels", capacity: "10/25" }, { time: "11:00 AM", name: "Open Gym Session", trainer: "Marcus Rivera", difficulty: "All Levels", capacity: "30/50" }, ], }; const diffColor: Record = { "Advanced": "bg-red-500/10 text-red-400 border-red-500/30", "Intermediate": "bg-orange-500/10 text-orange-400 border-orange-500/30", "All Levels": "bg-emerald-500/10 text-emerald-400 border-emerald-500/30", }; export default function Classes() { const [activeDay, setActiveDay] = useState("Mon"); const { mutate: bookClass, loading: booking } = useSaasMutation("scheduling", "/bookings"); return (
{/* ── Hero ── */}
Schedule

CLASS SCHEDULE

Find the perfect workout for your goals. Book your spot before classes fill up.

{/* ── Day Tabs ── */}
{days.map((d) => ( ))}
{(schedule[activeDay] || []).map((cls, i) => (
{cls.time}

{cls.name}

{cls.trainer}
{cls.difficulty}
{cls.capacity}
))}
{/* ── Class Info Cards ── */}

First Class Free

Try any class with no commitment. Just sign up and show up.

45-60 Min Sessions

Efficient workouts designed to maximize results in minimal time.

Small Groups

Capped at 25 so every member gets personal attention from the trainer.

); }