"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"; export function OurService() { 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) => data?.data?.data?.results, }); console.log("service data: ", data); // Animation variants const containerVariants = { hidden: { opacity: 0 }, visible: { opacity: 1, transition: { staggerChildren: 0.1, }, }, }; const cardVariants = { hidden: { opacity: 0, y: 20 }, visible: { opacity: 1, y: 0, transition: { duration: 0.5, ease: [0.22, 1, 0.36, 1] as const, }, }, }; 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) ? (
) : ( {/* cards */}
setServiceId(data[0].id)} >

{data[0].title}

{data[0].subtitle}

images
setServiceId(data[1].id)} variants={cardVariants} className="sm:w-[45%] w-full" >

{data[1].title}

{data[1].subtitle}

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

{data[2].title}

{data[2].subtitle}

setServiceId(data[3].id)} variants={cardVariants} >

{data[3].title}

{data[3].subtitle}

images

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

{t("home.services.viewMore")}
)}
); }