|
@@ -2,7 +2,7 @@ import { Category, GameListRep } from "@/api/home";
|
|
|
import { useRouter } from "@/i18n/routing";
|
|
|
import clsx from "clsx";
|
|
|
import { useMemo, useRef, useState } from "react";
|
|
|
-import { SwiperClass } from "swiper/react";
|
|
|
+import { Swiper, SwiperClass, SwiperSlide } from "swiper/react";
|
|
|
import styles from "./style.module.scss";
|
|
|
|
|
|
interface Props {
|
|
@@ -41,9 +41,8 @@ const HomeProvider: React.FC<Props> = ({ data }) => {
|
|
|
};
|
|
|
|
|
|
const slidesPerView = useMemo(() => {
|
|
|
- if (renderData.length > 5) return 5;
|
|
|
- if (renderData.length === 5) return 3;
|
|
|
- return renderData.length % 2 === 1 ? renderData.length : renderData.length - 1;
|
|
|
+ if (renderData.length > 5) return 5.5;
|
|
|
+ return renderData.length;
|
|
|
}, [renderData]);
|
|
|
|
|
|
return (
|
|
@@ -53,19 +52,28 @@ const HomeProvider: React.FC<Props> = ({ data }) => {
|
|
|
<div className="text-[.15rem] font-bold">{data.category_name}</div>
|
|
|
</div>
|
|
|
<div className={styles.privoderBox}>
|
|
|
- {renderData?.map((item: any, idx) => (
|
|
|
- <div
|
|
|
- key={item.id}
|
|
|
- className={clsx(
|
|
|
- "flex h-[100%] flex-col items-center justify-center",
|
|
|
- styles.manufactureritem
|
|
|
- )}
|
|
|
- onClick={() => todoHandler(item)}
|
|
|
- >
|
|
|
- <img src={item.game_icon} className={styles.providerIcon} alt=""></img>
|
|
|
- {/* <div className="mt-[.06rem] text-[.1rem]">{item.provider}</div> */}
|
|
|
- </div>
|
|
|
- ))}
|
|
|
+ <Swiper slidesPerView={slidesPerView} spaceBetween={5}>
|
|
|
+ {renderData?.map((item: any, idx) => {
|
|
|
+ return (
|
|
|
+ <SwiperSlide key={item.id}>
|
|
|
+ <div
|
|
|
+ className={clsx(
|
|
|
+ "flex h-[100%] flex-col items-center justify-center",
|
|
|
+ styles.manufactureritem
|
|
|
+ )}
|
|
|
+ onClick={() => todoHandler(item)}
|
|
|
+ >
|
|
|
+ <img
|
|
|
+ src={item.game_icon}
|
|
|
+ className={styles.providerIcon}
|
|
|
+ alt=""
|
|
|
+ ></img>
|
|
|
+ {/* <div className="mt-[.06rem] text-[.1rem]">{item.provider}</div> */}
|
|
|
+ </div>
|
|
|
+ </SwiperSlide>
|
|
|
+ );
|
|
|
+ })}
|
|
|
+ </Swiper>
|
|
|
</div>
|
|
|
{/* <Swiper
|
|
|
slidesPerView={slidesPerView}
|