Files
lotteryAdmin/src/app/admin/(shell)/config/page.tsx

67 lines
2.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import Link from "next/link";
import { ModuleScaffold } from "@/components/admin/module-scaffold";
import {
Card,
CardDescription,
CardHeader,
CardTitle,
} from "@/components/ui/card";
import { configHubMeta } from "@/modules/config/meta";
import type { Metadata } from "next";
export const metadata: Metadata = {
title: configHubMeta.title,
};
const SECTIONS = [
{
href: "/admin/config/plays",
title: "玩法配置",
description: "§5.4:目录开关、显示名与排序、限额、规则说明(玩法配置版本)。",
},
{
href: "/admin/config/odds",
title: "赔率配置",
description: "§5.5:按维度 / 玩法编辑五档赔率、回水率、历史版本与回滚。",
},
{
href: "/admin/config/rebate",
title: "佣金 / 回水",
description: "§5.6:按 2D / 3D / 4D 批量写入 rebate_rate共用赔率版本。",
},
{
href: "/admin/config/risk-cap",
title: "风控封顶",
description: "§5.7:默认封顶、特殊号码封顶;占用列为占位,待注单汇总接入。",
},
{
href: "/admin/config/versions",
title: "配置版本历史",
description: "三套流水线的版本列表(玩法配置 / 赔率 / 风控封顶)。",
},
] as const;
export default function AdminConfigHubPage() {
return (
<ModuleScaffold className="max-w-4xl">
<div className="mb-6 space-y-1">
<h1 className="text-xl font-semibold tracking-tight">{configHubMeta.title}</h1>
<p className="text-sm text-muted-foreground">{configHubMeta.description}</p>
</div>
<div className="grid gap-4 sm:grid-cols-2">
{SECTIONS.map((s) => (
<Link key={s.href} href={s.href} className="block rounded-lg outline-none ring-offset-background focus-visible:ring-2 focus-visible:ring-ring">
<Card className="h-full transition-colors hover:bg-muted/40">
<CardHeader>
<CardTitle className="text-base">{s.title}</CardTitle>
<CardDescription>{s.description}</CardDescription>
</CardHeader>
</Card>
</Link>
))}
</div>
</ModuleScaffold>
);
}