将 AdminRiskPage 改名为 AdminRiskIndexPage,并接入 RiskIndexConsole 组件。
This commit is contained in:
18
src/app/admin/(shell)/risk/draws/[drawId]/hot/page.tsx
Normal file
18
src/app/admin/(shell)/risk/draws/[drawId]/hot/page.tsx
Normal file
@@ -0,0 +1,18 @@
|
||||
import { RiskPoolsConsole } from "@/modules/risk/risk-pools-console";
|
||||
|
||||
export default async function AdminRiskHotPage(props: {
|
||||
params: Promise<{ drawId: string }>;
|
||||
}) {
|
||||
const { drawId } = await props.params;
|
||||
const id = Number(drawId);
|
||||
|
||||
return (
|
||||
<RiskPoolsConsole
|
||||
drawId={id}
|
||||
title="热门号码监控"
|
||||
description="按「已占用 / 封顶」比例与已占用额排序,便于发现集中下注号码(产品文档 §13.4)。"
|
||||
soldOutOnly={false}
|
||||
defaultSort="usage_desc"
|
||||
/>
|
||||
);
|
||||
}
|
||||
20
src/app/admin/(shell)/risk/draws/[drawId]/layout.tsx
Normal file
20
src/app/admin/(shell)/risk/draws/[drawId]/layout.tsx
Normal file
@@ -0,0 +1,20 @@
|
||||
import { ModuleScaffold } from "@/components/admin/module-scaffold";
|
||||
import { RiskDrawHeader } from "@/modules/risk/risk-draw-header";
|
||||
import { RiskSubnav } from "@/modules/risk/risk-subnav";
|
||||
|
||||
export default async function AdminRiskDrawLayout(props: {
|
||||
children: React.ReactNode;
|
||||
params: Promise<{ drawId: string }>;
|
||||
}) {
|
||||
const { drawId } = await props.params;
|
||||
const id = Number(drawId);
|
||||
const safeId = Number.isFinite(id) ? id : 0;
|
||||
|
||||
return (
|
||||
<ModuleScaffold className="w-full max-w-none">
|
||||
<RiskDrawHeader drawId={safeId} />
|
||||
<RiskSubnav drawId={drawId} />
|
||||
{props.children}
|
||||
</ModuleScaffold>
|
||||
);
|
||||
}
|
||||
10
src/app/admin/(shell)/risk/draws/[drawId]/occupancy/page.tsx
Normal file
10
src/app/admin/(shell)/risk/draws/[drawId]/occupancy/page.tsx
Normal file
@@ -0,0 +1,10 @@
|
||||
import { RiskLockLogsConsole } from "@/modules/risk/risk-lock-logs-console";
|
||||
|
||||
export default async function AdminRiskOccupancyPage(props: {
|
||||
params: Promise<{ drawId: string }>;
|
||||
}) {
|
||||
const { drawId } = await props.params;
|
||||
const id = Number(drawId);
|
||||
|
||||
return <RiskLockLogsConsole drawId={id} />;
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
import { RiskPoolDetailConsole } from "@/modules/risk/risk-pool-detail-console";
|
||||
|
||||
export default async function AdminRiskPoolDetailPage(props: {
|
||||
params: Promise<{ drawId: string; number: string }>;
|
||||
}) {
|
||||
const { drawId, number } = await props.params;
|
||||
const id = Number(drawId);
|
||||
|
||||
return <RiskPoolDetailConsole drawId={id} number4d={number} />;
|
||||
}
|
||||
19
src/app/admin/(shell)/risk/draws/[drawId]/pools/page.tsx
Normal file
19
src/app/admin/(shell)/risk/draws/[drawId]/pools/page.tsx
Normal file
@@ -0,0 +1,19 @@
|
||||
import { RiskPoolsConsole } from "@/modules/risk/risk-pools-console";
|
||||
|
||||
export default async function AdminRiskPoolsPage(props: {
|
||||
params: Promise<{ drawId: string }>;
|
||||
}) {
|
||||
const { drawId } = await props.params;
|
||||
const id = Number(drawId);
|
||||
|
||||
return (
|
||||
<RiskPoolsConsole
|
||||
drawId={id}
|
||||
title="全部风险池"
|
||||
description="本期已出现的全部号码赔付池事实表;可排序,点击「查看」进入单号码详情页。"
|
||||
soldOutOnly={false}
|
||||
defaultSort="number_asc"
|
||||
allowSortChange
|
||||
/>
|
||||
);
|
||||
}
|
||||
18
src/app/admin/(shell)/risk/draws/[drawId]/sold-out/page.tsx
Normal file
18
src/app/admin/(shell)/risk/draws/[drawId]/sold-out/page.tsx
Normal file
@@ -0,0 +1,18 @@
|
||||
import { RiskPoolsConsole } from "@/modules/risk/risk-pools-console";
|
||||
|
||||
export default async function AdminRiskSoldOutPage(props: {
|
||||
params: Promise<{ drawId: string }>;
|
||||
}) {
|
||||
const { drawId } = await props.params;
|
||||
const id = Number(drawId);
|
||||
|
||||
return (
|
||||
<RiskPoolsConsole
|
||||
drawId={id}
|
||||
title="售罄号码列表"
|
||||
description="剩余赔付额度为 0 的 4D 号码;玩家侧将收到售罄拒单(产品文档 §6.4、§13.4)。"
|
||||
soldOutOnly
|
||||
defaultSort="number_asc"
|
||||
/>
|
||||
);
|
||||
}
|
||||
@@ -1,21 +1,10 @@
|
||||
import { ModuleScaffold } from "@/components/admin/module-scaffold";
|
||||
import { riskModuleMeta } from "@/modules/risk/meta";
|
||||
import type { Metadata } from "next";
|
||||
import { RiskIndexConsole } from "@/modules/risk/risk-index-console";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: riskModuleMeta.title,
|
||||
};
|
||||
|
||||
export default function AdminRiskPage() {
|
||||
export default function AdminRiskIndexPage() {
|
||||
return (
|
||||
<ModuleScaffold>
|
||||
<p className="text-sm text-zinc-500 dark:text-zinc-400">
|
||||
业务组件请放在{" "}
|
||||
<code className="rounded bg-zinc-100 px-1 py-0.5 font-mono text-xs dark:bg-zinc-800">
|
||||
src/modules/risk
|
||||
</code>{" "}
|
||||
下。
|
||||
</p>
|
||||
<ModuleScaffold className="w-full max-w-none">
|
||||
<RiskIndexConsole />
|
||||
</ModuleScaffold>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user