"use client"; import { useFavorites } from "@/lib/hooks"; import { Skeleton } from "@/components/ui/skeleton"; import { useTranslations } from "next-intl"; import ProductCard from "@/features/home/components/ProductCard"; import type { Favorite } from "@/lib/types/api"; import EmptyFavorites from "@/features/favorites/components/EmptyFavorites"; export default function FavoritesPage() { const t = useTranslations(); const { data: favorites, isLoading, isError } = useFavorites(); if (isLoading) { return (

{t("favorite_products")}

{Array.from({ length: 10 }).map((_, i) => ( ))}
); } if (isError || !favorites || favorites.length === 0) { return ( ); } return (

{t("favorite_products")}

{favorites.map((favorite: Favorite) => { const product = favorite.product; const allImages = product.media ?.map( (media) => media.images_800x800 || media.images_720x720 || media.images_400x400 || media.thumbnail ) .filter(Boolean) || ["/placeholder-product.jpg"]; const formattedPrice = product.price_amount ? `${parseFloat(product.price_amount).toFixed(2)} TMT` : "Price not available"; return ( ); })}
); }