feat(agents, config, dashboard, i18n): add agent line provision wizard, site deletion, and site dashboard with multi-language support
Added agent line provision wizard page with permission gating, replacing redirect placeholder. Introduced site deletion API and UI with confirmation dialog in integration sites management. Added new site-scoped dashboard panel showing bet metrics, P/L trends, active players, and quick links. Enhanced chart tooltip to support custom formatters and fix indicator color
This commit is contained in:
@@ -176,8 +176,7 @@
|
||||
},
|
||||
"lineProvision": {
|
||||
"title": "Create level-1 agent",
|
||||
"description": "Creates the level-1 agent, admin login, and line settings (share, credit, rebate, settlement cycle) in one step. Code cannot be changed later.",
|
||||
"code": "Agent code",
|
||||
"description": "Creates the level-1 agent, admin login, and line settings (share, credit, rebate, settlement cycle) in one step.",
|
||||
"name": "Level-1 agent name",
|
||||
"username": "Admin login",
|
||||
"password": "Initial password",
|
||||
|
||||
@@ -111,6 +111,10 @@
|
||||
"loading": "Loading…",
|
||||
"comingSoon": "Feature under development"
|
||||
},
|
||||
"integrationSites": {
|
||||
"emptyPlatformHint": "No integration sites yet. Create a site before managing agents, players, or settlement.",
|
||||
"createSite": "Create integration site"
|
||||
},
|
||||
"errors": {
|
||||
"loadFailed": "Failed to load"
|
||||
},
|
||||
|
||||
@@ -72,6 +72,13 @@
|
||||
"rotateConfirmTitle": "Rotate secrets?",
|
||||
"rotateConfirmDescription": "New SSO and wallet keys will be generated for {{code}}. Old keys stop working immediately.",
|
||||
"rotateConfirm": "Rotate",
|
||||
"delete": "Delete site",
|
||||
"deleteSuccess": "Deleted site {{code}}",
|
||||
"deleteFailed": "Failed to delete site",
|
||||
"deleteConfirmTitle": "Delete this site?",
|
||||
"deleteConfirmDescription": "This permanently removes site {{code}} ({{name}}), its agent line, settlement periods, players, and site admin accounts. This cannot be undone.",
|
||||
"deleteConfirm": "Delete",
|
||||
"deleting": "Deleting…",
|
||||
"secretsTitle": "Save these secrets now",
|
||||
"secretsDescription": "Secrets for {{code}} are shown only once.",
|
||||
"secretsDismiss": "I have saved them",
|
||||
|
||||
@@ -156,9 +156,35 @@
|
||||
"riskMonitor": "Risk monitor",
|
||||
"systemSettings": "System settings"
|
||||
},
|
||||
"site": {
|
||||
"title": "Site overview",
|
||||
"subtitle": "{{name}} · this site",
|
||||
"todayBet": "Today's bets",
|
||||
"todayProfit": "Today's P/L",
|
||||
"sevenDayTitle": "Last 7 days",
|
||||
"sevenDayProfit": "7-day P/L",
|
||||
"profitScopeHint": "Site scope: bets minus payouts",
|
||||
"activePlayersToday": "Active players today",
|
||||
"betOrdersTodayHint": "{{count}} orders today",
|
||||
"pendingBills": "Pending bills",
|
||||
"pendingUnpaid": "Unpaid {{amount}}",
|
||||
"latestBetAt": "Latest bet {{time}}",
|
||||
"noBetToday": "No bets yet today",
|
||||
"scaleTitle": "Site scale",
|
||||
"agentCount": "Agent nodes",
|
||||
"playerCount": "Players",
|
||||
"topAgentToday": "Top agent today: {{name}} ({{amount}})",
|
||||
"quickLinks": {
|
||||
"tickets": "Tickets",
|
||||
"players": "Players",
|
||||
"reports": "Reports",
|
||||
"agents": "Agents",
|
||||
"bills": "Settlement"
|
||||
}
|
||||
},
|
||||
"agent": {
|
||||
"title": "Operations overview",
|
||||
"subtitle": "Your line scope · {{name}}",
|
||||
"subtitle": "{{name}} · your line",
|
||||
"heroEyebrow": "Today's line cockpit",
|
||||
"heroTitle": "{{name}} live operations",
|
||||
"creditTitle": "Credit limit",
|
||||
@@ -176,6 +202,7 @@
|
||||
"teamPlayers": "Players in line",
|
||||
"activePlayersToday": "Active players today",
|
||||
"betOrdersToday": "Bet orders today",
|
||||
"betOrdersTodayHint": "{{count}} orders today",
|
||||
"todayBet": "Today's bet",
|
||||
"todayPayout": "Today's payout",
|
||||
"todayProfit": "Today's profit",
|
||||
@@ -202,6 +229,7 @@
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
"viewBills": "View bills",
|
||||
"lineMeta": "Depth {{depth}} · child agents {{childAgent}} · players {{player}}",
|
||||
"viewLine": "Agent line",
|
||||
"quickLinks": {
|
||||
"tickets": "Tickets",
|
||||
|
||||
@@ -15,7 +15,8 @@
|
||||
"closeDialogShare": "{{count}} ledger entries",
|
||||
"closeDialogUnsettled": "{{count}} tickets still unsettled",
|
||||
"closeDialogIrreversible": "Cannot undo. Use adjustments or reversals to fix errors.",
|
||||
"closeDialogConfirm": "Close period"
|
||||
"closeDialogConfirm": "Close period",
|
||||
"closeDialogEmpty": "No share ledger this period; closing will not generate bills."
|
||||
},
|
||||
"periodDetail": {
|
||||
"back": "Back to periods",
|
||||
@@ -152,7 +153,8 @@
|
||||
"adjustment": "Adjustment",
|
||||
"reversal": "Reversal",
|
||||
"bad_debt": "Bad debt",
|
||||
"share_ledger": "Share ledger"
|
||||
"share_ledger": "Share ledger",
|
||||
"freezeAmount": "Hold {{amount}}"
|
||||
}
|
||||
},
|
||||
"columns": {
|
||||
@@ -176,7 +178,13 @@
|
||||
"adjustmentType": "Type",
|
||||
"originalBill": "Original bill",
|
||||
"reason": "Reason",
|
||||
"badDebtAmount": "Write-off"
|
||||
"badDebtAmount": "Write-off",
|
||||
"playerAccount": "Player account",
|
||||
"playerId": "Player ID",
|
||||
"directAgent": "Direct agent",
|
||||
"superiorAgent": "Upline agent",
|
||||
"play": "Play",
|
||||
"drawNo": "Draw no."
|
||||
},
|
||||
"billStatus": {
|
||||
"pending_confirm": "Pending confirm",
|
||||
@@ -302,21 +310,72 @@
|
||||
"agent": "Agent bills",
|
||||
"pendingConfirm": "Pending confirm",
|
||||
"awaitingPayment": "Awaiting payment"
|
||||
},
|
||||
"billId": "Bill ID",
|
||||
"ownerKeyword": "Owner / counterparty",
|
||||
"ownerKeywordPh": "Player account or agent name",
|
||||
"status": "Bill status",
|
||||
"billType": "Bill type",
|
||||
"filterAll": "All statuses",
|
||||
"filterAllTypes": "All types",
|
||||
"filterAdjustment": "Adjust / reverse",
|
||||
"optional": "Optional",
|
||||
"searchBtn": "Search",
|
||||
"reset": "Reset",
|
||||
"refresh": "Refresh",
|
||||
"clientFilterHint": "Owner filter: showing {{shown}} / {{total}}",
|
||||
"emptyFiltered": "No bills match the filter. Try All statuses or reset.",
|
||||
"emptyClosed": "Period closed but no bills. Often no settled credit tickets in range.",
|
||||
"rowHint": {
|
||||
"playerOwner": "Player owner",
|
||||
"agentOwner": "Agent owner",
|
||||
"adjustmentOwner": "Adjustment owner",
|
||||
"badDebtOwner": "Bad debt owner",
|
||||
"reversalOwner": "Reversal owner",
|
||||
"playerUpline": "Player's upline agent",
|
||||
"agentUpline": "Settlement upline"
|
||||
}
|
||||
},
|
||||
"panels": {
|
||||
"overview": { "title": "Overview" },
|
||||
"ledger": { "title": "Account ledger" },
|
||||
"bills": { "title": "Bills" },
|
||||
"creditLedger": { "title": "Credit ledger" },
|
||||
"playerBills": { "title": "Player bills" },
|
||||
"agentBills": { "title": "Agent bills" },
|
||||
"pendingConfirm": { "title": "Pending confirm" },
|
||||
"awaiting": { "title": "Awaiting payment" },
|
||||
"payments": { "title": "Payment log" },
|
||||
"adjustments": { "title": "Adjust / reverse" },
|
||||
"reports": { "title": "Period reports" },
|
||||
"badDebt": { "title": "Bad debt" }
|
||||
"overview": {
|
||||
"title": "Overview"
|
||||
},
|
||||
"ledger": {
|
||||
"title": "Account ledger"
|
||||
},
|
||||
"bills": {
|
||||
"title": "Bills"
|
||||
},
|
||||
"creditLedger": {
|
||||
"title": "Credit ledger"
|
||||
},
|
||||
"playerBills": {
|
||||
"title": "Player bills"
|
||||
},
|
||||
"agentBills": {
|
||||
"title": "Agent bills"
|
||||
},
|
||||
"pendingConfirm": {
|
||||
"title": "Pending confirm"
|
||||
},
|
||||
"awaiting": {
|
||||
"title": "Awaiting payment"
|
||||
},
|
||||
"payments": {
|
||||
"title": "Payment log"
|
||||
},
|
||||
"adjustments": {
|
||||
"title": "Adjust / reverse"
|
||||
},
|
||||
"reports": {
|
||||
"title": "Period reports"
|
||||
},
|
||||
"badDebt": {
|
||||
"title": "Bad debt"
|
||||
},
|
||||
"workbench": {
|
||||
"title": "Workbench"
|
||||
}
|
||||
},
|
||||
"empty": {
|
||||
"noSite": "Select a site.",
|
||||
|
||||
Reference in New Issue
Block a user