|
@@ -1,5 +1,11 @@
|
|
"use client";
|
|
"use client";
|
|
import { UserInfoRep, UserVipInfo, Wallet } from "@/api/user";
|
|
import { UserInfoRep, UserVipInfo, Wallet } from "@/api/user";
|
|
|
|
+import {
|
|
|
|
+ BalanceContent,
|
|
|
|
+ BonusContent,
|
|
|
|
+ FreeContent,
|
|
|
|
+ ReplayContent,
|
|
|
|
+} from "@/components/ModalPopup/WalletDescribeModal";
|
|
import TipsModal, { ModalProps } from "@/components/TipsModal";
|
|
import TipsModal, { ModalProps } from "@/components/TipsModal";
|
|
import { Link, useRouter } from "@/i18n/routing";
|
|
import { Link, useRouter } from "@/i18n/routing";
|
|
import { useWalletStore } from "@/stores/useWalletStore";
|
|
import { useWalletStore } from "@/stores/useWalletStore";
|
|
@@ -63,128 +69,7 @@ const VipCard = (props: { userVip: UserVipInfo }) => {
|
|
</div>
|
|
</div>
|
|
);
|
|
);
|
|
};
|
|
};
|
|
-const Progress = (props: { percent: number }) => {
|
|
|
|
- const { percent } = props;
|
|
|
|
- return (
|
|
|
|
- <div className="flex">
|
|
|
|
- <ProgressBar
|
|
|
|
- percent={percent}
|
|
|
|
- className={"mr-[0.0694rem] flex-1"}
|
|
|
|
- style={{
|
|
|
|
- "--fill-color": "var(--primary-color)",
|
|
|
|
- "--track-width": "0.0694rem",
|
|
|
|
- }}
|
|
|
|
- />
|
|
|
|
- <span className={"text-primary-color"}>{percent.toFixed(2)}%</span>
|
|
|
|
- </div>
|
|
|
|
- );
|
|
|
|
-};
|
|
|
|
-const WalletContent = (props: {
|
|
|
|
- percentage: number;
|
|
|
|
- type: string;
|
|
|
|
- difference: number;
|
|
|
|
- current: number;
|
|
|
|
-}) => {
|
|
|
|
- const { percentage, type, difference, current } = props;
|
|
|
|
- const t = useTranslations("ProfilePage");
|
|
|
|
- return (
|
|
|
|
- <div>
|
|
|
|
- <div className={"mb-[0.12rem] text-[0.12rem]"}>
|
|
|
|
- <span className={"mr-[10px]"}>{type}</span>
|
|
|
|
- <i className={"mr-[10px] indent-[10px] text-[0.1528rem] font-bold"}>R$</i>
|
|
|
|
- <span>{current}</span>
|
|
|
|
- </div>
|
|
|
|
|
|
|
|
- <Progress percent={percentage} />
|
|
|
|
-
|
|
|
|
- <div>
|
|
|
|
- <span>{t("modalBottomTips")}</span>
|
|
|
|
- <span>{difference.toFixed(2)}</span>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- );
|
|
|
|
-};
|
|
|
|
-// 现金
|
|
|
|
-const BalanceContent = (props: { wallet: Wallet }) => {
|
|
|
|
- const { wallet } = props;
|
|
|
|
- const t = useTranslations("ProfilePage");
|
|
|
|
- return (
|
|
|
|
- <>
|
|
|
|
- <WalletContent
|
|
|
|
- difference={wallet.target_score_rollover - wallet.current_score_rollover}
|
|
|
|
- type={t("balance")}
|
|
|
|
- current={wallet.score || 0}
|
|
|
|
- percentage={percentage(wallet.current_score_rollover, wallet.target_score_rollover)}
|
|
|
|
- />
|
|
|
|
- </>
|
|
|
|
- );
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-const BonusContent = (props: { wallet: Wallet }) => {
|
|
|
|
- const { wallet } = props;
|
|
|
|
- const t = useTranslations("ProfilePage");
|
|
|
|
- return (
|
|
|
|
- <div>
|
|
|
|
- <WalletContent
|
|
|
|
- difference={wallet.target_point_rollover - wallet.current_point_rollover}
|
|
|
|
- type={t("bonus")}
|
|
|
|
- current={wallet.point || 0}
|
|
|
|
- percentage={percentage(wallet.current_point_rollover, wallet.target_point_rollover)}
|
|
|
|
- />
|
|
|
|
- <p className={"text-center"}>{t("bonusArticle")}</p>
|
|
|
|
- <ul className={"ml-[0.1389rem] list-decimal text-[0.12rem] text-[#666]"}>
|
|
|
|
- <li>{t("bonusDesc1")}</li>
|
|
|
|
- <li>{t("bonusDesc2")}</li>
|
|
|
|
- <li>{t("bonusDesc3")}</li>
|
|
|
|
- </ul>
|
|
|
|
- </div>
|
|
|
|
- );
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-const FreeContent = (props: { wallet: Wallet }) => {
|
|
|
|
- const { wallet } = props;
|
|
|
|
- const t = useTranslations("ProfilePage");
|
|
|
|
- return (
|
|
|
|
- <div>
|
|
|
|
- <WalletContent
|
|
|
|
- difference={wallet.target_free_score_rollover - wallet.current_free_score_rollover}
|
|
|
|
- type={t("free")}
|
|
|
|
- current={wallet.free_score || 0}
|
|
|
|
- percentage={percentage(
|
|
|
|
- wallet.current_free_score_rollover,
|
|
|
|
- wallet.target_free_score_rollover
|
|
|
|
- )}
|
|
|
|
- />
|
|
|
|
- <p className={"text-center"}>{t("freeArticle")}</p>
|
|
|
|
- <ul className={"ml-[0.1389rem] list-decimal text-[0.12rem] text-[#666]"}>
|
|
|
|
- <li>{t("freeDesc1")}</li>
|
|
|
|
- <li>{t("freeDesc2")}</li>
|
|
|
|
- </ul>
|
|
|
|
- </div>
|
|
|
|
- );
|
|
|
|
-};
|
|
|
|
-const ReplayContent = (props: { wallet: Wallet }) => {
|
|
|
|
- const { wallet } = props;
|
|
|
|
- const t = useTranslations("ProfilePage");
|
|
|
|
- return (
|
|
|
|
- <div>
|
|
|
|
- <WalletContent
|
|
|
|
- difference={wallet.target_lose_score_rollover - wallet.current_lose_score_rollover}
|
|
|
|
- type={t("replay")}
|
|
|
|
- current={wallet.lose_score || 0}
|
|
|
|
- percentage={percentage(
|
|
|
|
- wallet.current_lose_score_rollover,
|
|
|
|
- wallet.target_lose_score_rollover
|
|
|
|
- )}
|
|
|
|
- />
|
|
|
|
- <p className={"text-center"}>{t("replayArticle")}</p>
|
|
|
|
- <ul className={"ml-[0.1389rem] list-decimal text-[0.12rem] text-[#666]"}>
|
|
|
|
- <li>{t("replayDesc1")}</li>
|
|
|
|
- <li>{t("replayDesc2")}</li>
|
|
|
|
- </ul>
|
|
|
|
- </div>
|
|
|
|
- );
|
|
|
|
-};
|
|
|
|
const WalletCard = (props: { userMoney: Wallet }) => {
|
|
const WalletCard = (props: { userMoney: Wallet }) => {
|
|
const { userMoney } = props;
|
|
const { userMoney } = props;
|
|
const t = useTranslations("ProfilePage");
|
|
const t = useTranslations("ProfilePage");
|