refactor: 重构奖池配置页面,移除冗余组件,优化加载体验与国际化支持

This commit is contained in:
2026-05-21 16:46:48 +08:00
parent 3ce84af39c
commit 26feed3c4f
29 changed files with 393 additions and 213 deletions

View File

@@ -12,7 +12,8 @@ import {
} from "@/api/admin-player";
import { AdminListPaginationFooter } from "@/components/admin/admin-list-pagination-footer";
import { AdminTableExportButton } from "@/components/admin/admin-table-export-button";
import { Badge } from "@/components/ui/badge";
import { AdminStatusBadge } from "@/components/admin/admin-status-badge";
import { resolvePlayerStatusTone } from "@/lib/admin-status-tone";
import { Button } from "@/components/ui/button";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import {
@@ -53,15 +54,6 @@ function playerStatusLabelT(status: number, t: (key: string) => string): string
return String(status);
}
function playerStatusVariant(
status: number,
): "default" | "secondary" | "destructive" | "outline" {
if (status === 0) return "secondary";
if (status === 1) return "outline";
if (status === 2) return "destructive";
return "default";
}
const PLAYER_STATUS_OPTIONS = [
{ value: 0, label: "statusNormal" },
{ value: 1, label: "statusFrozen" },
@@ -354,9 +346,9 @@ export function PlayersConsole(): React.ReactElement {
: "—"}
</TableCell>
<TableCell>
<Badge variant={playerStatusVariant(row.status)} className="font-normal">
<AdminStatusBadge status={row.status} tone={resolvePlayerStatusTone(row.status)}>
{playerStatusLabelT(row.status, t)}
</Badge>
</AdminStatusBadge>
</TableCell>
<TableCell className="whitespace-nowrap text-xs text-muted-foreground">
{row.last_login_at