"use client"; import { useEffect, useState } from "react"; import Link from "next/link"; import { AuthGuard } from "@/components/auth/AuthGuard"; import { Navbar } from "@/components/layout/Navbar"; import { BottomNav } from "@/components/layout/BottomNav"; import { PlanCard } from "@/components/plans/PlanCard"; import { Spinner } from "@/components/ui/Spinner"; import { api } from "@/lib/api"; import type { GeneratedWeeklyPlan } from "@/lib/types"; export default function PlansPage() { const [plans, setPlans] = useState([]); const [loading, setLoading] = useState(true); useEffect(() => { api .getPlans() .then((data) => { const sorted = [...data].sort( (a, b) => new Date(b.created_at).getTime() - new Date(a.created_at).getTime() ); setPlans(sorted); }) .catch((err) => console.error("Failed to fetch plans:", err)) .finally(() => setLoading(false)); }, []); return (

Plans

{loading ? (
) : plans.length === 0 ? (

No plans generated yet.

Go to Dashboard to generate one
) : (
{plans.map((plan) => ( ))}
)}
); }