- 合并钱包、订单、开奖、通知等独立 screen 到页面层,减少重复壳组件 - 优化订单列表/详情、钱包划转与待对账展示、开奖核对与结果详情交互 - 改进入口 gate、移动端视口与下拉刷新在窄屏下的表现 - dev 绑定 0.0.0.0 并默认放行 192.168/10 网段,修复局域网 HMR WebSocket
This commit is contained in:
@@ -297,15 +297,6 @@ export function HallBetPreviewDialog({
|
||||
</div>
|
||||
) : null}
|
||||
|
||||
{periodRebate ? (
|
||||
<p className="text-xs leading-relaxed text-slate-500">
|
||||
{t("hall.preview.periodRebateHint", {
|
||||
defaultValue:
|
||||
"信用盘回水在账期结算入账,下注时按全额占用可用信用,此处为账期回水预估。",
|
||||
})}
|
||||
</p>
|
||||
) : null}
|
||||
|
||||
{data.warnings.length > 0 ? (
|
||||
<WarningsBlock warnings={data.warnings} />
|
||||
) : (
|
||||
|
||||
@@ -588,13 +588,18 @@ export function HallBettingGrid({ drawLive }: { drawLive: HallDrawLiveSnapshot }
|
||||
return allPlayColumns.filter((col) => allowedCodes.has(col.play.play_code));
|
||||
}, [activeCategory, allPlayColumns, d4PlayGroup]);
|
||||
|
||||
const compactTable = playColumns.length > 6;
|
||||
const amountColClass = compactTable
|
||||
? "w-[3.75rem] min-w-[3.75rem] max-w-[3.75rem]"
|
||||
: "w-[4.5rem] min-w-[4.5rem] max-w-[4.5rem]";
|
||||
|
||||
const tableMinWidthPx = useMemo(() => {
|
||||
const indexCol = 40;
|
||||
const numberCol = activeCategory === "D4" ? 112 : activeCategory === "D3" ? 88 : 72;
|
||||
const amountCol = 72;
|
||||
const amountCol = compactTable ? 60 : 72;
|
||||
const deleteCol = 36;
|
||||
return indexCol + numberCol + playColumns.length * amountCol + deleteCol;
|
||||
}, [activeCategory, playColumns.length]);
|
||||
}, [activeCategory, compactTable, playColumns.length]);
|
||||
|
||||
const showWideTableHint = activeCategory === "D4" && allPlayColumns.length > 8 && playColumns.length > 8;
|
||||
|
||||
@@ -1382,9 +1387,10 @@ export function HallBettingGrid({ drawLive }: { drawLive: HallDrawLiveSnapshot }
|
||||
className={cn(
|
||||
"overflow-hidden rounded-xl border border-[#e6edf8] bg-white shadow-[0_8px_24px_rgba(15,23,42,0.05)] transition-opacity",
|
||||
tableDisabled && "opacity-55",
|
||||
showWideTableHint && "player-table-scroll-wrap",
|
||||
)}
|
||||
>
|
||||
<div className="overflow-x-auto overscroll-x-contain">
|
||||
<div className="player-table-scroll overflow-x-auto overscroll-x-contain">
|
||||
<table
|
||||
className="w-full border-collapse text-[11px]"
|
||||
style={{ minWidth: tableMinWidthPx }}
|
||||
@@ -1412,7 +1418,7 @@ export function HallBettingGrid({ drawLive }: { drawLive: HallDrawLiveSnapshot }
|
||||
{playColumns.map((column) => (
|
||||
<th
|
||||
key={column.key}
|
||||
className="w-[4.5rem] min-w-[4.5rem] max-w-[4.5rem] px-0.5 py-2 text-center font-bold"
|
||||
className={cn(amountColClass, "px-0.5 py-2 text-center font-bold")}
|
||||
>
|
||||
<span className="block whitespace-nowrap text-[11px] leading-tight">
|
||||
{playColumnHeaderLabel(
|
||||
@@ -1512,7 +1518,7 @@ export function HallBettingGrid({ drawLive }: { drawLive: HallDrawLiveSnapshot }
|
||||
onClick={() => setActiveRowId(row.id)}
|
||||
onChange={(event) => updateAmount(row.id, column.key, event.target.value)}
|
||||
className={cn(
|
||||
"h-8 w-full rounded-md border-[#e1e8f3] bg-white px-1 text-center text-xs font-bold tabular-nums shadow-sm focus-visible:ring-[#1d57b7]",
|
||||
"h-9 w-full rounded-md border-[#e1e8f3] bg-white px-1 text-center text-base font-bold tabular-nums shadow-sm focus-visible:ring-[#1d57b7]",
|
||||
hasAmount && "border-[#9bbcff] bg-[#f5f9ff] text-[#0b3f96]",
|
||||
status === "warning" && "border-amber-200 bg-amber-50 text-amber-800",
|
||||
status === "sold_out" && "border-slate-200 bg-slate-100 text-slate-400",
|
||||
|
||||
Reference in New Issue
Block a user