"use client"; import { Swiper, SwiperSlide } from "swiper/react"; import { Navigation, Autoplay } from "swiper/modules"; import "swiper/css"; import "swiper/css/navigation"; import { ChevronLeft, ChevronRight } from "lucide-react"; import Image from "next/image"; import Link from "next/link"; import { useLocale, useTranslations } from "next-intl"; import DotAnimatsiya from "@/components/dot/DotAnimatsiya"; import { useQuery } from "@tanstack/react-query"; import httpClient from "@/request/api"; import { endPoints } from "@/request/links"; import { BannerType } from "@/lib/types"; import { BannerSliderSkeleton } from "./loading"; // The custom CSS selectors for navigation const navigationPrevEl = ".hero-swiper-prev"; const navigationNextEl = ".hero-swiper-next"; export function BannerSlider() { const t = useTranslations(); const locale = useLocale(); const { data, isLoading } = useQuery({ queryKey: ["banner"], queryFn: () => httpClient(endPoints.banner), select: (data: any): BannerType[] => data?.data?.results, }); const BANNER_DATA = [ { image: "/images/homeBanner3.png", title: t("home.banner.title2"), description: t("home.banner.description"), }, { image: "/images/homeBanner4.png", title: t("home.banner.title2"), description: t("home.banner.description"), }, ]; const bannerData = data ?? BANNER_DATA; if (isLoading) return ; return (
{/* Custom buttons */} {bannerData.map((item, index) => (
{/* Right side - Text Content */}
{/* Badge */}
{t("home.banner.title1")}
{/* Main Heading */}

{item.title}

{/* Description */}

{item.description}

{/* CTA Button */}
{/* Left side - Firefighters Image */}
Firefighters
{/* Right side - Text Content */}
{/* Badge */}
{t("home.banner.title1")}
{/* Main Heading */}

{t("home.banner.title2")}

{/* Description */}

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

{/* CTA Button */} {t("home.banner.cta")}
))}
); }