|
@@ -1,6 +1,7 @@
|
|
|
"use client";
|
|
|
import { claimActivityReward, getJackpotInfo, GetJackpotResponse } from "@/api/activity";
|
|
|
import GlobalNotify from "@/components/ModalPopup/GlobalNotifyModal";
|
|
|
+import { BtnTypeEnum, BtnTypeMap } from "@/enums";
|
|
|
import { useRouter } from "@/i18n/routing";
|
|
|
import { formatAmount } from "@/utils";
|
|
|
import { Toast } from "antd-mobile";
|
|
@@ -12,36 +13,6 @@ import { useSearchParams } from "next/navigation";
|
|
|
import React from "react";
|
|
|
import styles from "./style.module.scss";
|
|
|
|
|
|
-// const tabCftg = React.useMemo(() => {
|
|
|
-// return [
|
|
|
-// {
|
|
|
-// image: "/jackpot/2.png",
|
|
|
-// text: "Dia 2",
|
|
|
-// key: 2,
|
|
|
-// },
|
|
|
-// {
|
|
|
-// image: "/jackpot/3.png",
|
|
|
-// text: "Dia 3",
|
|
|
-// key: 3,
|
|
|
-// },
|
|
|
-// {
|
|
|
-// image: "/jackpot/7.png",
|
|
|
-// text: "Dia 7",
|
|
|
-// key: 7,
|
|
|
-// },
|
|
|
-// {
|
|
|
-// image: "/jackpot/15.png",
|
|
|
-// text: "Dia 15",
|
|
|
-// key: 15,
|
|
|
-// },
|
|
|
-// {
|
|
|
-// image: "/jackpot/30.png",
|
|
|
-// text: "Dia 30",
|
|
|
-// key: 30,
|
|
|
-// },
|
|
|
-// ];
|
|
|
-// }, []);
|
|
|
-
|
|
|
const Jackpot: React.FC = () => {
|
|
|
const router = useRouter();
|
|
|
const searchParams = useSearchParams();
|
|
@@ -91,9 +62,22 @@ const Jackpot: React.FC = () => {
|
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
|
}, []);
|
|
|
|
|
|
- const isDisabled = React.useMemo(() => {
|
|
|
- if (!(infoData?.reward && infoData?.reward > 0)) return true;
|
|
|
- return !(curTabData?.is_unlock && !curTabData.is_suss);
|
|
|
+ // const isDisabled = React.useMemo(() => {
|
|
|
+ // if (!(infoData?.reward && infoData?.reward > 0)) return true;
|
|
|
+ // return !(curTabData?.is_unlock && !curTabData.is_suss);
|
|
|
+ // }, [curTabData, infoData]);
|
|
|
+
|
|
|
+ const btnType = React.useMemo(() => {
|
|
|
+ if (!(infoData?.reward && infoData?.reward > 0)) {
|
|
|
+ return BtnTypeEnum.DISABLED;
|
|
|
+ }
|
|
|
+ if (curTabData?.is_unlock && !curTabData.is_suss) {
|
|
|
+ return BtnTypeEnum.CANCLAIM;
|
|
|
+ }
|
|
|
+ if (!curTabData?.is_unlock && !curTabData.is_suss) {
|
|
|
+ return BtnTypeEnum.DEPOSITE;
|
|
|
+ }
|
|
|
+ return BtnTypeEnum.DISABLED;
|
|
|
}, [curTabData, infoData]);
|
|
|
|
|
|
const getInfoData = async () => {
|
|
@@ -150,7 +134,11 @@ const Jackpot: React.FC = () => {
|
|
|
};
|
|
|
|
|
|
const doClaim = async () => {
|
|
|
- if (isDisabled) return;
|
|
|
+ if (btnType === BtnTypeEnum.DISABLED) return;
|
|
|
+ if (btnType === BtnTypeEnum.DEPOSITE) {
|
|
|
+ router.push("/deposit");
|
|
|
+ return;
|
|
|
+ }
|
|
|
try {
|
|
|
const res = await claimActivityReward({
|
|
|
activity_id: Number(activeId),
|
|
@@ -214,7 +202,7 @@ const Jackpot: React.FC = () => {
|
|
|
key={key}
|
|
|
onClick={() => setActKey(Number(key))}
|
|
|
>
|
|
|
- <img src={images[idx]} />
|
|
|
+ <img src={images[idx]} alt="" />
|
|
|
<span>Dia {key}</span>
|
|
|
</div>
|
|
|
);
|
|
@@ -297,11 +285,18 @@ const Jackpot: React.FC = () => {
|
|
|
<div className={clsx("mt-[.2rem] flex flex-row justify-center")}>
|
|
|
<div
|
|
|
className={clsx(styles.btn, {
|
|
|
- [styles.disabled]: isDisabled,
|
|
|
+ [styles.disabled]: btnType === BtnTypeEnum.DISABLED,
|
|
|
+ [styles.recharge]: btnType === BtnTypeEnum.DEPOSITE,
|
|
|
})}
|
|
|
onClick={doClaim}
|
|
|
>
|
|
|
- <span className={clsx("mt-[.1rem] text-[.2rem] font-[900]")}>RECEBER</span>
|
|
|
+ <span className={clsx("text-[.14rem] font-[900]")}>
|
|
|
+ {BtnTypeMap.get(btnType)}
|
|
|
+
|
|
|
+ {/* {btnType === BtnTypeEnum.DISABLED && "Recompensa Recebida"}
|
|
|
+ {btnType === BtnTypeEnum.CANCLAIM && "Receber Recompensa"}
|
|
|
+ {btnType === BtnTypeEnum.DEPOSITE && "Recarregar"} */}
|
|
|
+ </span>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div className={clsx("ml-[.14rem] mr-[.14rem] mt-[.2rem]")}>
|