feat: 优化多语言文案接入并升级大厅与钱包交互体验

- 补充大厅下注结果、快速填单、查中奖、分页与通用操作多语言文案
- 移除多处界面默认文案回退,统一改用 i18n 配置输出
- 优化大厅快速填单、开奖结果入口与注单筛选区域视觉交互
- 重构钱包转入转出弹窗与流水卡片样式,增强金额与状态信息展示
This commit is contained in:
2026-05-20 17:56:18 +08:00
parent a2a29107f8
commit 626914feb6
20 changed files with 578 additions and 359 deletions

View File

@@ -26,15 +26,13 @@ type BaseProps = {
};
const defaultInTrigger =
"!bg-[#52c41a] !text-white shadow-none hover:!bg-[#52c41a]/90";
"!bg-[#0b3f96] !text-white shadow-[0_8px_18px_rgba(11,63,150,0.18)] hover:!bg-[#08357f]";
const defaultOutTrigger = "flex-1";
/** 高保真稿:蓝底白字 */
const hallInTrigger =
"rounded-lg border-0 !bg-[#1677ff] !text-white shadow-sm hover:!bg-[#1677ff]/90";
/** 高保真稿:白底红框红字 */
"rounded-2xl border border-[#d7e5fb] !bg-[#0b3f96] !text-white shadow-[0_10px_24px_rgba(11,63,150,0.22)] hover:!bg-[#08357f]";
const hallOutTrigger =
"rounded-lg !border-2 !border-[#ff4d4f] !bg-white !text-[#ff4d4f] shadow-sm hover:!bg-red-50 dark:!bg-card dark:hover:!bg-red-950/30";
"rounded-2xl border border-[#ffc7d2] !bg-white !text-[#e5002c] shadow-[0_8px_22px_rgba(216,20,53,0.08)] hover:!bg-[#fff5f7]";
export function TransferInDialog({
currency,
@@ -71,24 +69,26 @@ export function TransferInDialog({
<ArrowDownLeft className="size-4 shrink-0" />
{resolvedTriggerLabel}
</Button>
<DialogContent showCloseButton>
<DialogHeader>
<DialogTitle>{t("wallet.transferInTitle")}</DialogTitle>
<DialogDescription>
<DialogContent showCloseButton className="overflow-hidden rounded-[28px] border border-[#dbe7fb] bg-white p-0 shadow-[0_24px_70px_rgba(11,63,150,0.18)] sm:max-w-[430px] [&_[data-slot=dialog-close]]:right-3 [&_[data-slot=dialog-close]]:top-3 [&_[data-slot=dialog-close]]:text-white [&_[data-slot=dialog-close]]:hover:bg-white/15 [&_[data-slot=dialog-close]]:hover:text-white">
<DialogHeader className="bg-gradient-to-br from-[#0b3f96] via-[#1456bd] to-[#e5002c] px-5 pb-5 pt-6 text-white">
<DialogTitle className="text-xl font-black text-white">{t("wallet.transferInTitle")}</DialogTitle>
<DialogDescription className="text-sm leading-6 text-white/85">
{t("wallet.dialogInDescription", { currency })}
</DialogDescription>
</DialogHeader>
<TransferInPanel
variant="dialog"
currency={currency}
lotteryMinor={lotteryMinor}
idPrefix={idPrefix}
onCancel={() => setOpen(false)}
onSuccess={async () => {
await onSuccess();
setOpen(false);
}}
/>
<div className="px-5 pb-5 pt-4">
<TransferInPanel
variant="dialog"
currency={currency}
lotteryMinor={lotteryMinor}
idPrefix={idPrefix}
onCancel={() => setOpen(false)}
onSuccess={async () => {
await onSuccess();
setOpen(false);
}}
/>
</div>
</DialogContent>
</Dialog>
);
@@ -134,24 +134,26 @@ export function TransferOutDialog({
<ArrowUpRight className="size-4 shrink-0" />
{resolvedTriggerLabel}
</Button>
<DialogContent showCloseButton>
<DialogHeader>
<DialogTitle>{t("wallet.transferOutTitle")}</DialogTitle>
<DialogDescription>
<DialogContent showCloseButton className="overflow-hidden rounded-[28px] border border-[#ffd7df] bg-white p-0 shadow-[0_24px_70px_rgba(216,20,53,0.16)] sm:max-w-[430px] [&_[data-slot=dialog-close]]:right-3 [&_[data-slot=dialog-close]]:top-3 [&_[data-slot=dialog-close]]:text-white [&_[data-slot=dialog-close]]:hover:bg-white/15 [&_[data-slot=dialog-close]]:hover:text-white">
<DialogHeader className="bg-gradient-to-br from-[#e5002c] via-[#d81435] to-[#0b3f96] px-5 pb-5 pt-6 text-white">
<DialogTitle className="text-xl font-black text-white">{t("wallet.transferOutTitle")}</DialogTitle>
<DialogDescription className="text-sm leading-6 text-white/85">
{t("wallet.dialogOutDescription")}
</DialogDescription>
</DialogHeader>
<TransferOutPanel
variant="dialog"
currency={currency}
availableMinor={availableMinor}
idPrefix={idPrefix}
onCancel={() => setOpen(false)}
onSuccess={async () => {
await onSuccess();
setOpen(false);
}}
/>
<div className="px-5 pb-5 pt-4">
<TransferOutPanel
variant="dialog"
currency={currency}
availableMinor={availableMinor}
idPrefix={idPrefix}
onCancel={() => setOpen(false)}
onSuccess={async () => {
await onSuccess();
setOpen(false);
}}
/>
</div>
</DialogContent>
</Dialog>
);