refactor(layout, i18n, admin): 优化布局结构与多语言支持

调整 AdminShell 组件的子组件顺序,提升代码可读性。更新 admin-breadcrumb 组件,简化导航标签翻译逻辑,确保多语言支持的一致性。重构 admin-language-switcher 组件,优化语言切换的用户体验,增强界面交互性。更新多语言配置,新增登录界面的副标题,提升用户体验。
This commit is contained in:
2026-05-30 17:46:27 +08:00
parent 36117144dc
commit a550c418e5
64 changed files with 3405 additions and 1378 deletions

View File

@@ -6,6 +6,7 @@ import { toast } from "sonner";
import { Download, RefreshCw } from "lucide-react";
import { downloadAdminReportJob, getAdminReportJobs } from "@/api/admin-report-jobs";
import { AdminRowActionsMenu } from "@/components/admin/admin-row-actions-menu";
import { AdminStatusBadge } from "@/components/admin/admin-status-badge";
import { Button } from "@/components/ui/button";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
@@ -105,7 +106,7 @@ export function ReportJobsPanel({ canExport, refreshToken = 0 }: ReportJobsPanel
<TableHead>{t("tasks.columns.format")}</TableHead>
<TableHead>{t("tasks.columns.status")}</TableHead>
<TableHead>{t("tasks.columns.createdAt")}</TableHead>
<TableHead>{t("tasks.columns.actions")}</TableHead>
<TableHead className="w-14 text-center">{t("tasks.columns.actions")}</TableHead>
</TableRow>
</TableHeader>
<TableBody>
@@ -135,17 +136,19 @@ export function ReportJobsPanel({ canExport, refreshToken = 0 }: ReportJobsPanel
<TableCell className="text-xs text-muted-foreground">
{formatTs(job.created_at ?? job.finished_at)}
</TableCell>
<TableCell>
<Button
type="button"
variant="outline"
size="sm"
disabled={!canExport || job.status !== "completed" || downloadingId === job.id}
onClick={() => void handleDownload(job)}
>
<Download data-icon="inline-start" />
{t("tasks.download")}
</Button>
<TableCell className="text-center">
<AdminRowActionsMenu
busy={downloadingId === job.id}
actions={[
{
key: "download",
label: t("tasks.download"),
icon: Download,
disabled: !canExport || job.status !== "completed",
onClick: () => void handleDownload(job),
},
]}
/>
</TableCell>
</TableRow>
))