refactor: 使用管理员日期时间格式化器更新请求和完成时间的显示
This commit is contained in:
@@ -24,6 +24,7 @@ import {
|
||||
TableRow,
|
||||
} from "@/components/ui/table";
|
||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
|
||||
import { useAdminDateTimeFormatter } from "@/hooks/use-admin-datetime-formatter";
|
||||
import { LotteryApiBizError } from "@/types/api/errors";
|
||||
import type {
|
||||
AdminPlayerWalletsData,
|
||||
@@ -36,11 +37,6 @@ function formatMinorUnits(minor: number, currencyCode: string): string {
|
||||
return `${major.toFixed(2)} ${currencyCode}`;
|
||||
}
|
||||
|
||||
function formatTs(iso: string | null | undefined): string {
|
||||
if (!iso) return "—";
|
||||
return iso.replace("T", " ").slice(0, 19);
|
||||
}
|
||||
|
||||
/** 长单号/流水号:单行截断;点击复制全文,悬停可看全文 */
|
||||
function CellMonoId({
|
||||
value,
|
||||
@@ -164,6 +160,7 @@ export function WalletConsole(): React.ReactElement {
|
||||
}
|
||||
|
||||
function TransferOrdersPanel(): React.ReactElement {
|
||||
const formatTs = useAdminDateTimeFormatter();
|
||||
const [data, setData] = useState<AdminTransferOrderListData | null>(null);
|
||||
const [loading, setLoading] = useState(true);
|
||||
const [err, setErr] = useState<string | null>(null);
|
||||
@@ -324,8 +321,12 @@ function TransferOrdersPanel(): React.ReactElement {
|
||||
<TableHead className="w-14">方向</TableHead>
|
||||
<TableHead className="whitespace-nowrap">金额</TableHead>
|
||||
<TableHead className="whitespace-nowrap">状态</TableHead>
|
||||
<TableHead className="whitespace-nowrap">请求时间</TableHead>
|
||||
<TableHead className="whitespace-nowrap">完成时间</TableHead>
|
||||
<TableHead className="min-w-0 whitespace-normal leading-tight">
|
||||
请求时间
|
||||
</TableHead>
|
||||
<TableHead className="min-w-0 whitespace-normal leading-tight">
|
||||
完成时间
|
||||
</TableHead>
|
||||
<TableHead className="w-24">操作</TableHead>
|
||||
</TableRow>
|
||||
</TableHeader>
|
||||
@@ -359,10 +360,10 @@ function TransferOrdersPanel(): React.ReactElement {
|
||||
<TableCell>
|
||||
<Badge variant={statusBadgeVariant(row.status)}>{row.status}</Badge>
|
||||
</TableCell>
|
||||
<TableCell className="whitespace-nowrap text-xs text-muted-foreground">
|
||||
<TableCell className="min-w-0 whitespace-normal font-mono text-[11px] leading-snug text-muted-foreground">
|
||||
{formatTs(row.created_at)}
|
||||
</TableCell>
|
||||
<TableCell className="whitespace-nowrap text-xs text-muted-foreground">
|
||||
<TableCell className="min-w-0 whitespace-normal font-mono text-[11px] leading-snug text-muted-foreground">
|
||||
{formatTs(row.finished_at)}
|
||||
</TableCell>
|
||||
<TableCell className="text-xs text-muted-foreground">—</TableCell>
|
||||
@@ -406,6 +407,7 @@ function TransferOrdersPanel(): React.ReactElement {
|
||||
}
|
||||
|
||||
function WalletTxnsPanel(): React.ReactElement {
|
||||
const formatTs = useAdminDateTimeFormatter();
|
||||
const [data, setData] = useState<AdminWalletTxnListData | null>(null);
|
||||
const [loading, setLoading] = useState(true);
|
||||
const [err, setErr] = useState<string | null>(null);
|
||||
@@ -576,8 +578,12 @@ function WalletTxnsPanel(): React.ReactElement {
|
||||
<TableHead className="whitespace-nowrap">类型</TableHead>
|
||||
<TableHead className="whitespace-nowrap">金额</TableHead>
|
||||
<TableHead className="whitespace-nowrap">状态</TableHead>
|
||||
<TableHead className="whitespace-nowrap">请求时间</TableHead>
|
||||
<TableHead className="whitespace-nowrap">完成时间</TableHead>
|
||||
<TableHead className="min-w-0 whitespace-normal leading-tight">
|
||||
请求时间
|
||||
</TableHead>
|
||||
<TableHead className="min-w-0 whitespace-normal leading-tight">
|
||||
完成时间
|
||||
</TableHead>
|
||||
<TableHead className="w-24">操作</TableHead>
|
||||
</TableRow>
|
||||
</TableHeader>
|
||||
@@ -611,10 +617,10 @@ function WalletTxnsPanel(): React.ReactElement {
|
||||
<TableCell>
|
||||
<Badge variant={statusBadgeVariant(row.status)}>{row.status}</Badge>
|
||||
</TableCell>
|
||||
<TableCell className="whitespace-nowrap text-xs text-muted-foreground">
|
||||
<TableCell className="min-w-0 whitespace-normal font-mono text-[11px] leading-snug text-muted-foreground">
|
||||
{formatTs(row.created_at)}
|
||||
</TableCell>
|
||||
<TableCell className="whitespace-nowrap text-xs text-muted-foreground">
|
||||
<TableCell className="min-w-0 whitespace-normal font-mono text-[11px] leading-snug text-muted-foreground">
|
||||
{formatTs(row.updated_at)}
|
||||
</TableCell>
|
||||
<TableCell className="text-xs text-muted-foreground">—</TableCell>
|
||||
|
||||
Reference in New Issue
Block a user