refactor: 重构奖池配置页面,移除冗余组件,优化加载体验与国际化支持
This commit is contained in:
@@ -14,6 +14,7 @@ import {
|
||||
postAdminRejectSettlementBatch,
|
||||
} from "@/api/admin-settlement";
|
||||
import { AdminListPaginationFooter } from "@/components/admin/admin-list-pagination-footer";
|
||||
import { AdminStatusBadge } from "@/components/admin/admin-status-badge";
|
||||
import { ModuleScaffold } from "@/components/admin/module-scaffold";
|
||||
import { Button, buttonVariants } from "@/components/ui/button";
|
||||
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
|
||||
@@ -208,13 +209,21 @@ export function SettlementBatchDetailsConsole({ batchId }: Props) {
|
||||
</p>
|
||||
</CardHeader>
|
||||
<CardContent className="grid gap-2 text-sm sm:grid-cols-2">
|
||||
<p>
|
||||
<span className="text-muted-foreground">{t("settlementStatus")}</span>{" "}
|
||||
<span className="font-mono">{settlementStatusText(summary.status, t)}</span>
|
||||
<p className="flex flex-wrap items-center gap-2">
|
||||
<span className="text-muted-foreground">{t("settlementStatus")}</span>
|
||||
<AdminStatusBadge status={summary.status}>
|
||||
{settlementStatusText(summary.status, t)}
|
||||
</AdminStatusBadge>
|
||||
</p>
|
||||
<p>
|
||||
<span className="text-muted-foreground">{t("reviewState")}</span>{" "}
|
||||
<span className="font-mono">{settlementReviewStatusText(summary.review_status, t)}</span>
|
||||
<p className="flex flex-wrap items-center gap-2">
|
||||
<span className="text-muted-foreground">{t("reviewState")}</span>
|
||||
{summary.review_status ? (
|
||||
<AdminStatusBadge status={summary.review_status}>
|
||||
{settlementReviewStatusText(summary.review_status, t)}
|
||||
</AdminStatusBadge>
|
||||
) : (
|
||||
<span>—</span>
|
||||
)}
|
||||
</p>
|
||||
<p>
|
||||
<span className="text-muted-foreground">{t("ticketTotal")}</span>{" "}
|
||||
|
||||
@@ -12,6 +12,7 @@ import {
|
||||
postAdminRejectSettlementBatch,
|
||||
} from "@/api/admin-settlement";
|
||||
import { AdminListPaginationFooter } from "@/components/admin/admin-list-pagination-footer";
|
||||
import { AdminStatusBadge } from "@/components/admin/admin-status-badge";
|
||||
import { AdminTableExportButton } from "@/components/admin/admin-table-export-button";
|
||||
import { ModuleScaffold } from "@/components/admin/module-scaffold";
|
||||
import { Button, buttonVariants } from "@/components/ui/button";
|
||||
@@ -270,23 +271,19 @@ export function SettlementBatchesConsole() {
|
||||
>
|
||||
{formatAdminMinorUnits(row.platform_profit, row.currency_code ?? "NPR")}
|
||||
</TableCell>
|
||||
<TableCell className="text-xs text-muted-foreground">
|
||||
{settlementReviewStatusText(row.review_status, t)}
|
||||
<TableCell>
|
||||
{row.review_status ? (
|
||||
<AdminStatusBadge status={row.review_status}>
|
||||
{settlementReviewStatusText(row.review_status, t)}
|
||||
</AdminStatusBadge>
|
||||
) : (
|
||||
<span className="text-sm text-muted-foreground">—</span>
|
||||
)}
|
||||
</TableCell>
|
||||
<TableCell>
|
||||
<span
|
||||
className={cn(
|
||||
"rounded px-1.5 py-0.5 text-xs font-medium",
|
||||
["completed", "paid"].includes(row.status) && "bg-emerald-500/15 text-emerald-800",
|
||||
row.status === "running" && "bg-amber-500/15 text-amber-900",
|
||||
row.status === "pending_review" && "bg-blue-500/15 text-blue-800",
|
||||
row.status === "approved" && "bg-indigo-500/15 text-indigo-800",
|
||||
row.status === "rejected" && "bg-muted text-muted-foreground",
|
||||
row.status === "failed" && "bg-destructive/15 text-destructive",
|
||||
)}
|
||||
>
|
||||
<AdminStatusBadge status={row.status}>
|
||||
{settlementStatusText(row.status, t)}
|
||||
</span>
|
||||
</AdminStatusBadge>
|
||||
</TableCell>
|
||||
<TableCell>
|
||||
<div className="flex flex-wrap justify-end gap-1.5">
|
||||
|
||||
Reference in New Issue
Block a user