import { GET } from "@/utils/get";
import { Program } from "@/types/models";
import { getTranslations } from "next-intl/server";
import { ProgramBox } from "@/app/[locale]/(website)/programs/(all)/_components/program-box";
// import { HeartOff } from "lucide-react";

export const generateMetadata = async () => {
    const t = await getTranslations();
    return {
        title: `${t('routes.wishlist')}` || "Wishlist"
    }
};

export default async function WishlistPage() {
    const t = await getTranslations();
    const wishlistItems: any = await GET({ url: "/user/favorites", context: "dashboard" });

    const displayedItems = wishlistItems?.data || [];

    return (
        <div className="min-h-[85vh] w-full bg-white rounded-lg shadow-sm p-6">
            <h1 className="text-2xl font-bold text-gray-900 border-b pb-4 mb-6">
                {t("routes.wishlist")}
            </h1>

            {displayedItems.length > 0 ? (
                <div className="grid md:grid-cols-2 lg:grid-cols-3 gap-6">
                    {displayedItems.map((program: Program, index: number) => (
                        <ProgramBox key={index} program={program} />
                    ))}
                </div>
            ) : (
                <div className="flex flex-col items-center justify-center min-h-[400px] text-center">
                    {/* <div className="bg-gray-50 p-4 rounded-full mb-4">
                        <HeartOff className="size-8 text-gray-400" />
                    </div> */}
                    <p className="text-gray-500 font-medium text-lg">
                        {t('custom.empty')}
                    </p>
                </div>
            )}
        </div>
    );
};
