refactor: 合并多语言支持的显示名称字段,优化奖池手动爆发功能的返回数据结构,增强管理端权限控制
This commit is contained in:
@@ -1,10 +1,9 @@
|
||||
import { Metadata } from "next";
|
||||
|
||||
import { buildPageMetadata } from "@/lib/page-metadata";
|
||||
import { AccountSettingsConsole } from "@/modules/account/account-settings-console";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "账号设置 - 管理后台",
|
||||
};
|
||||
export const metadata: Metadata = buildPageMetadata("common", "accountSettings");
|
||||
|
||||
export default function AdminAccountPage() {
|
||||
return <AccountSettingsConsole />;
|
||||
|
||||
12
src/app/admin/(shell)/draws/[drawId]/risk/layout.tsx
Normal file
12
src/app/admin/(shell)/draws/[drawId]/risk/layout.tsx
Normal file
@@ -0,0 +1,12 @@
|
||||
import { AdminPermissionGate } from "@/components/admin/admin-permission-gate";
|
||||
import { PRD_RISK_ACCESS_ANY } from "@/lib/admin-prd";
|
||||
|
||||
export default function AdminDrawRiskLayout({
|
||||
children,
|
||||
}: {
|
||||
children: React.ReactNode;
|
||||
}) {
|
||||
return (
|
||||
<AdminPermissionGate requiredAny={PRD_RISK_ACCESS_ANY}>{children}</AdminPermissionGate>
|
||||
);
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
import { Suspense } from "react";
|
||||
|
||||
import { AdminPermissionGate } from "@/components/admin/admin-permission-gate";
|
||||
import { PRD_JACKPOT_ACCESS_ANY } from "@/lib/admin-prd";
|
||||
import { JackpotConfigScreen } from "@/modules/jackpot/jackpot-config-screen";
|
||||
import { RulesPageShell } from "@/modules/rules/rules-page-shell";
|
||||
import { buildPageMetadata } from "@/lib/page-metadata";
|
||||
@@ -10,9 +12,11 @@ export const metadata: Metadata = buildPageMetadata("jackpot", "configTitle");
|
||||
export default function AdminJackpotPage() {
|
||||
return (
|
||||
<RulesPageShell>
|
||||
<Suspense fallback={<p className="text-sm text-muted-foreground">Loading…</p>}>
|
||||
<JackpotConfigScreen />
|
||||
</Suspense>
|
||||
<AdminPermissionGate requiredAny={PRD_JACKPOT_ACCESS_ANY}>
|
||||
<Suspense fallback={<p className="text-sm text-muted-foreground">Loading…</p>}>
|
||||
<JackpotConfigScreen />
|
||||
</Suspense>
|
||||
</AdminPermissionGate>
|
||||
</RulesPageShell>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
import { AdminPermissionGate } from "@/components/admin/admin-permission-gate";
|
||||
import { ModuleScaffold } from "@/components/admin/module-scaffold";
|
||||
import { PRD_DASHBOARD_ACCESS_ANY } from "@/lib/admin-prd";
|
||||
import { DashboardConsole } from "@/modules/dashboard/dashboard-console";
|
||||
import { buildPageMetadata } from "@/lib/page-metadata";
|
||||
import type { Metadata } from "next";
|
||||
@@ -8,7 +10,9 @@ export const metadata: Metadata = buildPageMetadata("dashboard", "title");
|
||||
export default function AdminDashboardPage() {
|
||||
return (
|
||||
<ModuleScaffold className="max-w-7xl">
|
||||
<DashboardConsole />
|
||||
<AdminPermissionGate requiredAny={PRD_DASHBOARD_ACCESS_ANY}>
|
||||
<DashboardConsole />
|
||||
</AdminPermissionGate>
|
||||
</ModuleScaffold>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
import { AdminPermissionGate } from "@/components/admin/admin-permission-gate";
|
||||
import { ModuleScaffold } from "@/components/admin/module-scaffold";
|
||||
import { PRD_PLAYERS_ACCESS_ANY } from "@/lib/admin-prd";
|
||||
import { PlayersConsole } from "@/modules/players/players-console";
|
||||
import { buildPageMetadata } from "@/lib/page-metadata";
|
||||
import type { Metadata } from "next";
|
||||
@@ -8,7 +10,9 @@ export const metadata: Metadata = buildPageMetadata("players", "title");
|
||||
export default function AdminPlayersPage() {
|
||||
return (
|
||||
<ModuleScaffold>
|
||||
<PlayersConsole />
|
||||
<AdminPermissionGate requiredAny={PRD_PLAYERS_ACCESS_ANY}>
|
||||
<PlayersConsole />
|
||||
</AdminPermissionGate>
|
||||
</ModuleScaffold>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
import { AdminPermissionGate } from "@/components/admin/admin-permission-gate";
|
||||
import { ModuleScaffold } from "@/components/admin/module-scaffold";
|
||||
import { PRD_REPORTS_VIEW_ACCESS_ANY } from "@/lib/admin-prd";
|
||||
import { buildPageMetadata } from "@/lib/page-metadata";
|
||||
import { ReportsConsole } from "@/modules/reports/reports-console";
|
||||
import type { Metadata } from "next";
|
||||
@@ -8,7 +10,9 @@ export const metadata: Metadata = buildPageMetadata("reports", "title");
|
||||
export default function AdminReportsPage() {
|
||||
return (
|
||||
<ModuleScaffold>
|
||||
<ReportsConsole />
|
||||
<AdminPermissionGate requiredAny={PRD_REPORTS_VIEW_ACCESS_ANY}>
|
||||
<ReportsConsole />
|
||||
</AdminPermissionGate>
|
||||
</ModuleScaffold>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import { AdminPermissionGate } from "@/components/admin/admin-permission-gate";
|
||||
import { PRD_RISK_CAP_ACCESS_ANY } from "@/lib/admin-prd";
|
||||
import { RiskCapDocScreen } from "@/modules/config/doc/risk-cap-doc-screen";
|
||||
import { RulesPageShell } from "@/modules/rules/rules-page-shell";
|
||||
import { buildPageMetadata } from "@/lib/page-metadata";
|
||||
@@ -8,7 +10,9 @@ export const metadata: Metadata = buildPageMetadata("config", "nav.riskCapTitle"
|
||||
export default function AdminRiskCapPage() {
|
||||
return (
|
||||
<RulesPageShell>
|
||||
<RiskCapDocScreen />
|
||||
<AdminPermissionGate requiredAny={PRD_RISK_CAP_ACCESS_ANY}>
|
||||
<RiskCapDocScreen />
|
||||
</AdminPermissionGate>
|
||||
</RulesPageShell>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
import { AdminPermissionGate } from "@/components/admin/admin-permission-gate";
|
||||
import { ModuleScaffold } from "@/components/admin/module-scaffold";
|
||||
import { PRD_TICKETS_ACCESS_ANY } from "@/lib/admin-prd";
|
||||
import { PlayerTicketsConsole } from "@/modules/tickets/player-tickets-console";
|
||||
import { buildPageMetadata } from "@/lib/page-metadata";
|
||||
import type { Metadata } from "next";
|
||||
@@ -8,7 +10,9 @@ export const metadata: Metadata = buildPageMetadata("tickets", "title");
|
||||
export default function AdminTicketsPage() {
|
||||
return (
|
||||
<ModuleScaffold>
|
||||
<PlayerTicketsConsole />
|
||||
<AdminPermissionGate requiredAny={PRD_TICKETS_ACCESS_ANY}>
|
||||
<PlayerTicketsConsole />
|
||||
</AdminPermissionGate>
|
||||
</ModuleScaffold>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import { AdminPermissionGate } from "@/components/admin/admin-permission-gate";
|
||||
import { PRD_WALLET_PLAYER_ACCESS_ANY } from "@/lib/admin-prd";
|
||||
import { PlayerWalletPanel } from "@/modules/wallet/wallet-console";
|
||||
import { buildPageMetadata } from "@/lib/page-metadata";
|
||||
import type { Metadata } from "next";
|
||||
@@ -5,5 +7,9 @@ import type { Metadata } from "next";
|
||||
export const metadata: Metadata = buildPageMetadata("wallet", "playerWalletQuery");
|
||||
|
||||
export default function AdminWalletPlayerPage() {
|
||||
return <PlayerWalletPanel />;
|
||||
return (
|
||||
<AdminPermissionGate requiredAny={PRD_WALLET_PLAYER_ACCESS_ANY}>
|
||||
<PlayerWalletPanel />
|
||||
</AdminPermissionGate>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import { AdminPermissionGate } from "@/components/admin/admin-permission-gate";
|
||||
import { PRD_WALLET_TX_ACCESS_ANY } from "@/lib/admin-prd";
|
||||
import { WalletTxnsPanel } from "@/modules/wallet/wallet-console";
|
||||
import { buildPageMetadata } from "@/lib/page-metadata";
|
||||
import type { Metadata } from "next";
|
||||
@@ -5,5 +7,9 @@ import type { Metadata } from "next";
|
||||
export const metadata: Metadata = buildPageMetadata("wallet", "walletTransactions");
|
||||
|
||||
export default function AdminWalletTransactionsPage() {
|
||||
return <WalletTxnsPanel />;
|
||||
return (
|
||||
<AdminPermissionGate requiredAny={PRD_WALLET_TX_ACCESS_ANY}>
|
||||
<WalletTxnsPanel />
|
||||
</AdminPermissionGate>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import { AdminPermissionGate } from "@/components/admin/admin-permission-gate";
|
||||
import { PRD_WALLET_TRANSFER_ACCESS_ANY } from "@/lib/admin-prd";
|
||||
import { TransferOrdersPanel } from "@/modules/wallet/wallet-console";
|
||||
import { buildPageMetadata } from "@/lib/page-metadata";
|
||||
import type { Metadata } from "next";
|
||||
@@ -5,5 +7,9 @@ import type { Metadata } from "next";
|
||||
export const metadata: Metadata = buildPageMetadata("wallet", "transferOrders");
|
||||
|
||||
export default function AdminWalletTransferOrdersPage() {
|
||||
return <TransferOrdersPanel />;
|
||||
return (
|
||||
<AdminPermissionGate requiredAny={PRD_WALLET_TRANSFER_ACCESS_ANY}>
|
||||
<TransferOrdersPanel />
|
||||
</AdminPermissionGate>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -67,11 +67,12 @@
|
||||
--border: #d8e6fb;
|
||||
--input: #d8e6fb;
|
||||
--ring: #7aa7ee;
|
||||
--chart-1: oklch(0.87 0 0);
|
||||
--chart-2: oklch(0.556 0 0);
|
||||
--chart-3: oklch(0.439 0 0);
|
||||
--chart-4: oklch(0.371 0 0);
|
||||
--chart-5: oklch(0.269 0 0);
|
||||
/* 仪表盘 / 图表:彩色序列(勿用 chroma=0 灰阶) */
|
||||
--chart-1: oklch(0.52 0.19 264);
|
||||
--chart-2: oklch(0.62 0.17 162);
|
||||
--chart-3: oklch(0.72 0.16 75);
|
||||
--chart-4: oklch(0.56 0.22 303);
|
||||
--chart-5: oklch(0.58 0.2 25);
|
||||
--radius: 0.625rem;
|
||||
--sidebar: #01266c;
|
||||
--sidebar-foreground: #f8fbff;
|
||||
@@ -102,11 +103,11 @@
|
||||
--border: rgb(148 180 220 / 24%);
|
||||
--input: rgb(148 180 220 / 28%);
|
||||
--ring: #77a7ff;
|
||||
--chart-1: oklch(0.87 0 0);
|
||||
--chart-2: oklch(0.556 0 0);
|
||||
--chart-3: oklch(0.439 0 0);
|
||||
--chart-4: oklch(0.371 0 0);
|
||||
--chart-5: oklch(0.269 0 0);
|
||||
--chart-1: oklch(0.7 0.14 264);
|
||||
--chart-2: oklch(0.72 0.13 162);
|
||||
--chart-3: oklch(0.78 0.13 75);
|
||||
--chart-4: oklch(0.68 0.17 303);
|
||||
--chart-5: oklch(0.7 0.16 25);
|
||||
--sidebar: #01266c;
|
||||
--sidebar-foreground: #f8fbff;
|
||||
--sidebar-primary: #e60012;
|
||||
|
||||
Reference in New Issue
Block a user