"use client"; import DotAnimatsiya from "@/components/dot/DotAnimatsiya"; import httpClient from "@/request/api"; import { endPoints } from "@/request/links"; import { useQuery } from "@tanstack/react-query"; import { ChevronRight } from "lucide-react"; import { useLocale, useTranslations } from "next-intl"; import Image from "next/image"; import Link from "next/link"; import { motion } from "framer-motion"; import { ServicesLoading } from "./loading"; import { EmptyServices } from "./empty"; import { useServiceDetail } from "@/store/useService"; import { cardVariants, containerVariants } from "@/lib/animations"; export function ServicePageServices() { const t = useTranslations(); const locale = useLocale(); const setServiceId = useServiceDetail((state) => state.setServiceId); // get request const { data, isLoading, isError } = useQuery({ queryKey: ["firesafety"], queryFn: () => httpClient(endPoints.services.all), select: (data) => { const serviceData = data?.data?.data?.results; return serviceData.reduce( (resultArray: any, item: any, index: number) => { const chunkIndex = Math.floor(index / 4); if (!resultArray[chunkIndex]) { resultArray[chunkIndex] = []; // Yangi chunk boshlash } resultArray[chunkIndex].push(item); return resultArray; }, [] as any[][], ); }, }); console.log("service page services: ", data); return (
{/* Header for github */}
{t("home.services.title")}

{t("home.services.subtitle")}

{t("home.services.description")}

{/* Conditional Rendering */} {isLoading ? (
) : !data || (Array.isArray(data) && data.length === 0) ? (
) : ( data.map((item: any, index: number) => ( {/* cards */}
{item[0] && ( setServiceId(item[0].id)} >

{item[0]?.title}

{item[0]?.subtitle}

images
)} {item[1] && ( setServiceId(item[1]?.id)} variants={cardVariants} >

{item[1]?.title}

{item[1]?.subtitle}

images
)}
{item[2] && ( setServiceId(item[2]?.id)} className="sm:w-[40%] w-full -mt-5" > images

{item[2]?.title}

{item[2]?.subtitle}

)}
{item[3] && ( setServiceId(item[3]?.id)} variants={cardVariants} >

{item[3]?.title}

{item[3]?.subtitle}

images
)}
)) )}
); }