"use client";
import { ReleaseLink } from "../ReleaseLink/ReleaseLink";
import Link from "next/link";

import { Swiper, SwiperSlide } from 'swiper/react';
import Styles from "./ReleaseCourusel.module.css";
import "swiper/css";
import "swiper/css/navigation";
import { Navigation } from "swiper/modules";

export const ReleaseCourusel = (props: {
  sectionTitle: string;
  showAllLink?: string;
  content: any;
}) => {
  return (
    <section className={Styles.section}>
      <div className="flex justify-between px-4 py-2 border-b-2 border-black dark:border-white">
        <h1 className="font-bold text-md sm:text-xl md:text-lg xl:text-xl">
          {props.sectionTitle}
        </h1>
        {props.showAllLink && (
          <Link href={props.showAllLink}>
            <div className="flex items-center">
              <p className="hidden text-xl font-bold sm:block">Показать все</p>
              <span className="w-6 h-6 iconify mdi--arrow-right"></span>
            </div>
          </Link>
        )}
      </div>
      <div className="my-4">
        <Swiper
          modules={[Navigation]}
          spaceBetween={8}
          slidesPerView={'auto'}
          direction={'horizontal'}
          rewind={true}
          navigation={{
            nextEl: ".swiper-button-next",
            prevEl: ".swiper-button-prev"
          }}
          allowTouchMove={true}
          breakpoints={{
            1800: {
              initialSlide: 1,
              centeredSlides: true
            }
          }}
          className={Styles.swiper}
        >
            {props.content.map((release) => {
              return (
                <SwiperSlide
                  key={release.id}
                  className="xl:max-w-[600px] sm:max-w-[400px] lg:aspect-video"
                >
                  <ReleaseLink {...release} />
                </SwiperSlide>
              );
            })}
            <div
              className={`swiper-button-prev ${Styles["swiper-button"]} after:iconify after:material-symbols--chevron-left aspect-square bg-black bg-opacity-25 backdrop-blur rounded-full after:bg-white`}
              style={
                { "--swiper-navigation-size": "64px" } as React.CSSProperties
              }
          ></div>
          <div
              className={`swiper-button-next ${Styles["swiper-button"]} after:iconify after:material-symbols--chevron-right aspect-square bg-black bg-opacity-25 backdrop-blur rounded-full after:bg-white`}
              style={
                { "--swiper-navigation-size": "64px" } as React.CSSProperties
              }
          ></div>
        </Swiper>
      </div>
    </section>
  );
};
