"use client"; import { useEffect, useState } from "react"; import { motion } from "framer-motion"; import type { Product } from "@/lib/products"; import Image from "next/image"; import { useLanguage } from "@/context/language-context"; import Link from "next/link"; import { ChevronsRight } from "lucide-react"; import { ProductCard } from "./ProductCard"; import { ProductModal } from "./ProductModal"; import axios from "axios"; import EmptyState from "../productsPage/emptyData"; // hello everyone export function ProductsGrid() { const { t } = useLanguage(); const [selectedProduct, setSelectedProduct] = useState(null); const [allProducts, setAllProducts] = useState([]); useEffect(() => { async function getData() { await axios .get("https://admin.promtechno.uz/api/products/") .then((res) => { console.log("all data main page: ", res?.data); const allData = res?.data || []; setAllProducts(allData.slice(0, 3)); }); } getData(); }, []); const handleViewDetails = (slug: number) => { const product = allProducts.find((p: any) => p.id === slug); if (product) { setSelectedProduct(product); } }; return ( <>
hero image
{/* Header */}

{t.products.title}

{/* Product Grid */} {allProducts && allProducts.length > 0 ? ( {allProducts.map((product: any) => ( ))} ) : ( )}
{t.more}
{/* Product Modalll */} {selectedProduct && ( setSelectedProduct(null)} /> )} ); }