|
@@ -1,100 +1,101 @@
|
|
|
"use client";
|
|
|
+import GlobalNotify from "@/components/ModalPopup/GlobalNotifyModal";
|
|
|
import clsx from "clsx";
|
|
|
-import { Swiper, SwiperSlide } from "swiper/react";
|
|
|
+import React from "react";
|
|
|
+import { Swiper, SwiperClass, SwiperSlide } from "swiper/react";
|
|
|
import styles from "./page.module.scss";
|
|
|
|
|
|
const CardPage = () => {
|
|
|
+ const swiperRef = React.useRef<SwiperClass | null>(null);
|
|
|
+ const [act, setAct] = React.useState(0);
|
|
|
+ const [amount, setAmount] = React.useState<any>({});
|
|
|
+ const [visible, setVisible] = React.useState<boolean>(false);
|
|
|
+
|
|
|
+ const doChange = (type: 1 | -1) => {
|
|
|
+ if (swiperRef.current) {
|
|
|
+ if (type === 1) swiperRef.current.slideNext();
|
|
|
+ if (type === -1) swiperRef.current.slidePrev();
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ const data = React.useMemo(() => {
|
|
|
+ return [1, 2, 3];
|
|
|
+ }, []);
|
|
|
+
|
|
|
return (
|
|
|
<div className={styles.CardPage}>
|
|
|
<div className={styles.top}>
|
|
|
- <Swiper slidesPerView={"auto"} spaceBetween={4}>
|
|
|
- <SwiperSlide>
|
|
|
- <div className={clsx("flex flex-row items-center justify-between")}>
|
|
|
- <div className={styles.left}>
|
|
|
- <div className={styles.leftContent}>CARTãO DE MêS</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div className={styles.cardContainer}>
|
|
|
- <div className={styles.cardContent}>
|
|
|
- <div className={styles.cardLeft}>
|
|
|
- <div className="text-[.12rem] font-bold text-[#77223c]">
|
|
|
- PARA RECARREGAR
|
|
|
- </div>
|
|
|
- <div className="my-[.04rem] text-[.36rem] font-bold text-[#ff1d66]">
|
|
|
- 500R
|
|
|
- </div>
|
|
|
- <div className="text-[.15rem] font-bold text-[#77223c]">
|
|
|
- EXTRA 271%
|
|
|
+ <Swiper
|
|
|
+ spaceBetween={4}
|
|
|
+ centeredSlidesBounds
|
|
|
+ onSwiper={(swiper) => {
|
|
|
+ swiperRef.current = swiper;
|
|
|
+ }}
|
|
|
+ onSlideChange={(swiper) => {
|
|
|
+ setAct(swiper.realIndex);
|
|
|
+ }}
|
|
|
+ loop={true}
|
|
|
+ >
|
|
|
+ {data.map((key) => {
|
|
|
+ return (
|
|
|
+ <SwiperSlide key={key}>
|
|
|
+ <div className={clsx("flex flex-row items-center justify-between")}>
|
|
|
+ <div className={styles.left}>
|
|
|
+ <div className={styles.leftContent}>CARTãO DE MêS{key}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div className={styles.cardRight}>
|
|
|
- <div className="text-[.12rem] font-bold text-[#77223c]">
|
|
|
- RECEBA POR DIA
|
|
|
- </div>
|
|
|
- <div className="text-[.12rem] font-bold text-[#ff1d66]">
|
|
|
- NUMERÁRIO 10R
|
|
|
- </div>
|
|
|
- <div className="text-[.12rem] font-bold text-[#ff1d66]">
|
|
|
- BÔNUS 38R
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div className={styles.rili}>
|
|
|
- <div className={styles.riliContent}>
|
|
|
- <div className="text-[.14rem] font-bold text-[#ac4b31]">
|
|
|
- 30
|
|
|
+ <div className={styles.cardContainer}>
|
|
|
+ <div className={styles.cardContent}>
|
|
|
+ <div className={styles.cardLeft}>
|
|
|
+ <div className="text-[.12rem] font-bold text-[#77223c]">
|
|
|
+ PARA RECARREGAR
|
|
|
+ </div>
|
|
|
+ <div className="my-[.04rem] text-[.36rem] font-bold text-[#ff1d66]">
|
|
|
+ 500R
|
|
|
+ </div>
|
|
|
+ <div className="text-[.15rem] font-bold text-[#77223c]">
|
|
|
+ EXTRA 271%
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div className="text-[.12rem] text-[#ac4b31]">dias</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </SwiperSlide>
|
|
|
- <SwiperSlide>
|
|
|
- <div className={clsx("flex flex-row items-center justify-between")}>
|
|
|
- <div className={styles.left}>
|
|
|
- <div className={styles.leftContent}>CARTãO DE MêS</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div className={styles.cardContainer}>
|
|
|
- <div className={styles.cardContent}>
|
|
|
- <div className={styles.cardLeft}>
|
|
|
- <div className="text-[.12rem] font-bold text-[#77223c]">
|
|
|
- PARA RECARREGAR
|
|
|
- </div>
|
|
|
- <div className="my-[.04rem] text-[.36rem] font-bold text-[#ff1d66]">
|
|
|
- 500R
|
|
|
- </div>
|
|
|
- <div className="text-[.15rem] font-bold text-[#77223c]">
|
|
|
- EXTRA 271%
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div className={styles.cardRight}>
|
|
|
- <div className="text-[.12rem] font-bold text-[#77223c]">
|
|
|
- RECEBA POR DIA
|
|
|
- </div>
|
|
|
- <div className="text-[.12rem] font-bold text-[#ff1d66]">
|
|
|
- NUMERÁRIO 10R
|
|
|
- </div>
|
|
|
- <div className="text-[.12rem] font-bold text-[#ff1d66]">
|
|
|
- BÔNUS 38R
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div className={styles.rili}>
|
|
|
- <div className={styles.riliContent}>
|
|
|
- <div className="text-[.14rem] font-bold text-[#ac4b31]">
|
|
|
- 30
|
|
|
+ <div className={styles.cardRight}>
|
|
|
+ <div className="text-[.12rem] font-bold text-[#77223c]">
|
|
|
+ RECEBA POR DIA
|
|
|
+ </div>
|
|
|
+ <div className="text-[.12rem] font-bold text-[#ff1d66]">
|
|
|
+ NUMERÁRIO 10R
|
|
|
+ </div>
|
|
|
+ <div className="text-[.12rem] font-bold text-[#ff1d66]">
|
|
|
+ BÔNUS 38R
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div className={styles.rili}>
|
|
|
+ <div className={styles.riliContent}>
|
|
|
+ <div className="text-[.14rem] font-bold text-[#ac4b31]">
|
|
|
+ 30
|
|
|
+ </div>
|
|
|
+ <div className="text-[.12rem] text-[#ac4b31]">
|
|
|
+ dias
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div className="text-[.12rem] text-[#ac4b31]">dias</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </SwiperSlide>
|
|
|
+ </SwiperSlide>
|
|
|
+ );
|
|
|
+ })}
|
|
|
</Swiper>
|
|
|
<div className={styles.pagation}>
|
|
|
- <div className={clsx(styles.arrow, styles.arrowLeft)}></div>
|
|
|
- <div className="mx-[.05rem] text-[.1rem]">1/30</div>
|
|
|
- <div className={clsx(styles.arrow, styles.arrowRight)}></div>
|
|
|
+ <div
|
|
|
+ className={clsx(styles.arrow, styles.arrowLeft)}
|
|
|
+ onClick={() => doChange(-1)}
|
|
|
+ ></div>
|
|
|
+ <div className="mx-[.05rem] text-[.1rem]">
|
|
|
+ {act + 1}/{data.length}
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ className={clsx(styles.arrow, styles.arrowRight)}
|
|
|
+ onClick={() => doChange(1)}
|
|
|
+ ></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div className={styles.main}>
|
|
@@ -163,6 +164,12 @@ const CardPage = () => {
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <GlobalNotify
|
|
|
+ amount={amount}
|
|
|
+ visible={visible}
|
|
|
+ onChange={() => setVisible(false)}
|
|
|
+ deraction={5000}
|
|
|
+ ></GlobalNotify>
|
|
|
</div>
|
|
|
);
|
|
|
};
|