"use client"; import { useEffect, useState } from "react"; import EmptyState from "./emptyData"; import { motion } from "framer-motion"; import { ProductCard } from "../productSection/ProductCard"; import axios from "axios"; import Loading from "../loading"; import { generateSlug } from "@/lib/slug"; import { getAllProducts } from "@/lib/api"; const itemVariants = { hidden: { opacity: 0, y: 20 }, visible: { opacity: 1, y: 0 }, }; export default function Products() { const [allProducts, setAllProducts] = useState([]); const [loading, setLoading] = useState(false); useEffect(() => { async function getData() { setLoading(true); const products = await getAllProducts(); setAllProducts( products.map((product: any) => ({ ...product, slug: generateSlug(product.name_uz), })) ); setLoading(false); } getData(); }, []); return (
{loading && (
)} {loading || (allProducts && allProducts.length > 0) ? (
{allProducts.map((product: any) => ( ))}
) : ( )}
); }