HomeMiddleBanner.tsx 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. "use client";
  2. // import { useState } from "react";
  3. // import { Swiper, SwiperSlide } from "swiper/react";
  4. // import { Navigation } from "swiper/modules";
  5. import Image from "next/image";
  6. import type { HomeSectionImage } from "@/types/home/type";
  7. import Link from "next/link";
  8. interface middleBannerProps {
  9. middleBanner: HomeSectionImage[];
  10. }
  11. export default function HomeMiddleBanner({ middleBanner }: middleBannerProps) {
  12. // const [activeIndex, setActiveIndex] = useState(0);
  13. // const [swiperRef] = useState(null);
  14. if (!middleBanner || middleBanner.length === 0) return null;
  15. const middleBannerImages = middleBanner;
  16. // const handleSlideChange = (swiper: any) => {
  17. // setActiveIndex(swiper.activeIndex);
  18. // };
  19. // const handleIndicatorClick = (index: any) => {
  20. // if (swiperRef) {
  21. // setActiveIndex(index);
  22. // }
  23. // };
  24. return (
  25. <div className="w-full mx-auto px-12 flex items-center justify-center gap-11 ">
  26. {/* <Swiper
  27. modules={[Navigation]}
  28. spaceBetween={10}
  29. slidesPerView={1}
  30. onSlideChange={handleSlideChange}
  31. className="mb-6"
  32. > */}
  33. {middleBannerImages.map((item, idx) => (
  34. // <SwiperSlide key={idx}>
  35. <Link
  36. key={idx}
  37. href={item.link}
  38. className="block w-full"
  39. aria-label={item.title}
  40. >
  41. <Image
  42. src={item.image}
  43. alt={item.title}
  44. width={1408}
  45. height={692}
  46. sizes="100vw"
  47. className="w-full h-auto rounded-md object-cover"
  48. />
  49. </Link>
  50. // {/* </SwiperSlide> */}
  51. ))}
  52. {/* </Swiper> */}
  53. {/* <div className="flex justify-center gap-2">
  54. <button
  55. onClick={() => handleIndicatorClick(0)}
  56. className={`w-6 h-[5px] rounded-full opacity-100 ${
  57. activeIndex === 0 ? "bg-[#333]" : "bg-[#E5E5E5]"
  58. }`}
  59. aria-label="切换到第一块"
  60. />
  61. <button
  62. onClick={() => handleIndicatorClick(1)}
  63. className={`w-6 h-[5px] rounded-full opacity-100 ${
  64. activeIndex === 1 ? "bg-[#333]" : "bg-[#E5E5E5]"
  65. }`}
  66. aria-label="切换到第二块"
  67. />
  68. </div> */}
  69. </div>
  70. );
  71. }