Routes định nghĩa tập trung tại src/config/routes.tsx. App.tsx render PUBLIC_ROUTES + PROTECTED_ROUTES.
/ và * redirect tới route đầu tiên user có quyền (RedirectToFirstAccessibleRoute).
Public routes
| Path | Component |
|---|
/login | LoginPage |
Protected routes
| Path | Component | Permission | Ghi chú |
|---|
/dashboard | Dashboard | dashboard | |
/users | UsersManagement | userManagement | Players list |
/users/:id | UserDetailPage | userManagement | |
/cashiers | CashierManagement | agentManagement | |
/transactions | TransactionsManagement | transactionManagement | |
/transactions/:id | TransactionDetailPage | transactionManagement | |
/withdrawal-requests | WithdrawalManagement | withdrawalManagement | |
/flagged-withdrawals | FlaggedWithdrawalsManagement | withdrawalManagement | |
/manual-game-deposits | ManualGameDepositsManagement | manualGameDepositManagement | |
/wallets | GameWalletsManagement | walletManagement | |
/tickets | TicketManagement | ticketManagement | |
/tickets/:ticketId | TicketManagement | ticketManagement | |
/admins | AdminManagement | adminManagement | |
/super-agents | SuperAgentManagement | agentManagement | |
/super-agents/:id | SuperAgentDetailPage | agentManagement | |
/agents | AgentManagement | agentManagement | |
/agents/:id | AgentDetailPage | agentManagement | |
/agents/:id/transactions | AgentPaymentTransactionsPage | agentManagement | |
/agents/:id/wallet-transfer | AgentWalletTransferPage | agentManagement | |
/shops | ShopManagement | agentManagement | |
/shops/:shopId | ShopDetailPage | agentManagement | |
/game-providers | GameProvidersManagement | gameProviderManagement | |
/vfx-config | ScheduleManagement | vfxConfigManagement | |
/vfx-config/schedules/:id | ScheduleDetail | vfxConfigManagement | |
/transaction-limits | TransactionLimitsManagement | transactionLimitsManagement | |
/provider-fees | ProviderFeesManagement | transactionLimitsManagement | |
/usd-wallets | UsdWalletsManagement | transactionManagement | |
/credit-wallets | CreditWalletsManagement | transactionManagement | |
/domains | DomainsManagement | domainManagement | |
/integration-logs | IntegrationLogsManagement | — | superAdminOnly |
/broadcasts | BroadcastManagement | — | superAdminOnly |
/in-app-popups | InAppPopupManagement | — | superAdminOnly |
/forbidden | ForbiddenPage | — | |
Legacy redirect
/agents/:agentId/shops/:shopId → /shops/:shopId
Logic tại components/layout/Layout.tsx.
| Label | Path |
|---|
| Dashboard | /dashboard |
| Payment transactions | /transactions |
| Withdrawal Requests | /withdrawal-requests |
| Flagged Withdrawals | /flagged-withdrawals |
| Manual Game Deposits | /manual-game-deposits |
| Support Tickets | /tickets |
Wallets
| Label | Path |
|---|
| Game Wallets | /wallets |
| USD Wallets | /usd-wallets |
| Credit Wallets | /credit-wallets |
Account management
| Label | Path |
|---|
| Admin Management | /admins |
| Super Agent Management | /super-agents |
| Agent Management | /agents |
| Shop Management | /shops |
| Cashier Management | /cashiers |
| Players | /users |
| Label | Path |
|---|
| Domain Management | /domains |
| VFX & Background Config | /vfx-config |
| Game Providers | /game-providers |
| Transaction Limits & Fraud | /transaction-limits |
| Provider Fees | /provider-fees |
| API Logs | /integration-logs (super admin) |
Notifications
| Label | Path |
|---|
| Global broadcasts | /broadcasts |
| In-app popups | /in-app-popups |
Role → Permission matrix
| Permission | system/super | platform | finance | support |
|---|
| dashboard | ✅ | ✅ | ✅ | ✅ |
| userManagement | ✅ | ✅ | | |
| transactionManagement | ✅ | ✅ | ✅ | |
| withdrawalManagement | ✅ | | ✅ | |
| manualGameDepositManagement | ✅ | | ✅ | |
| ticketManagement | ✅ | ✅ | | ✅ |
| adminManagement | ✅ | | | |
| agentManagement | ✅ | | | |
| walletManagement | ✅ | ✅ | ✅ | |
| gameProviderManagement | ✅ | | | |
| vfxConfigManagement | ✅ | | | |
| transactionLimitsManagement | ✅ | ✅ | ✅ | |
| domainManagement | ✅ | | | |
system_admin và super_admin có toàn quyền + truy cập superAdminOnly routes.
Components bảo vệ route
| Component | Vai trò |
|---|
ProtectedRoute | Guard auth + permission + role |
RedirectToFirstAccessibleRoute | Smart redirect / |
Layout / Sidebar / Header | Shell chính |
AdminNotificationBell | Poll broadcasts mỗi 2 phút |
FinanceCorrectionDebitModal | Điều chỉnh tài chính |
GameRecallAllModal | Thu hồi toàn bộ game wallet |
ProfitAnalysisPanel | Phân tích rút tiền bất thường |