feat(default): redesign dashboard overview

Refresh the overview page with an actionable Get Started guide, live API request details, real usage sparklines, and OpenAI-inspired dashboard panels. Add collapsible setup state, role-aware quick actions, and localized copy so returning users can focus on platform health.
This commit is contained in:
t0ng7u
2026-05-07 03:20:35 +08:00
parent e8cfb546fa
commit a7d019e3a9
30 changed files with 1389 additions and 195 deletions
+49 -4
View File
@@ -98,6 +98,7 @@
"7 days ago": "7 days ago",
"80,443,8080": "80,443,8080",
"A billing multiplier. Lower ratios mean lower API call costs.": "A billing multiplier. Lower ratios mean lower API call costs.",
"A focused home for keys, balance, routing, and service health.": "A focused home for keys, balance, routing, and service health.",
"About": "About",
"Accept Unpriced Models": "Accept Unpriced Models",
"Accepts a JSON array of model identifiers that support the Imagine API.": "Accepts a JSON array of model identifiers that support the Imagine API.",
@@ -145,6 +146,7 @@
"Add chat preset": "Add chat preset",
"Add condition": "Add condition",
"Add Condition": "Add Condition",
"Add credits": "Add credits",
"Add custom model(s), comma-separated": "Add custom model(s), comma-separated",
"Add discount tier": "Add discount tier",
"Add each model or tag you want to include.": "Add each model or tag you want to include.",
@@ -311,6 +313,7 @@
"Announcements": "Announcements",
"Announcements saved successfully": "Announcements saved successfully",
"Answer": "Answer",
"Answers for common access and billing questions": "Answers for common access and billing questions",
"Anthropic": "Anthropic",
"Any Match (OR)": "Any Match (OR)",
"API": "API",
@@ -411,6 +414,7 @@
"Audio Preview": "Audio Preview",
"Audio ratio": "Audio ratio",
"Audio Tokens": "Audio Tokens",
"Auth configured": "Auth configured",
"Auth Style": "Auth Style",
"Authentication": "Authentication",
"Authenticator code": "Authenticator code",
@@ -446,8 +450,6 @@
"Available Models": "Available Models",
"Available Rewards": "Available Rewards",
"Average latency": "Average latency",
"Latency": "Latency",
"Latency short": "Lat.",
"Average latency, TTFT, and success rate by group": "Average latency, TTFT, and success rate by group",
"Average RPM": "Average RPM",
"Average time-to-first-token (TTFT) by group": "Average time-to-first-token (TTFT) by group",
@@ -475,6 +477,7 @@
"Baidu V2": "Baidu V2",
"Balance": "Balance",
"Balance and top-up management": "Balance and top-up management",
"Balance is shown in quota units": "Balance is shown in quota units",
"Balance queried successfully": "Balance queried successfully",
"Balance updated successfully": "Balance updated successfully",
"Balance updated: {{balance}}": "Balance updated: {{balance}}",
@@ -549,11 +552,13 @@
"Broadcast a global banner to users. Markdown is supported.": "Broadcast a global banner to users. Markdown is supported.",
"Broadcast short system notices on the dashboard": "Broadcast short system notices on the dashboard",
"Browse and compare": "Browse and compare",
"Browse available models and pricing": "Browse available models and pricing",
"Browse rankings by category": "Browse rankings by category",
"Budget tokens = max tokens × ratio. Accepts a decimal between 0.002 and 1. Recommended to keep aligned with upstream billing.": "Budget tokens = max tokens × ratio. Accepts a decimal between 0.002 and 1. Recommended to keep aligned with upstream billing.",
"Budget tokens = max tokens × ratio. Accepts a decimal between 0.1 and 1.": "Budget tokens = max tokens × ratio. Accepts a decimal between 0.1 and 1.",
"Budget Tokens Ratio": "Budget Tokens Ratio",
"Budgets": "Budgets",
"Build on your API gateway in minutes": "Build on your API gateway in minutes",
"Built for developers,": "Built for developers,",
"Built-in": "Built-in",
"Built-in Device": "Built-in Device",
@@ -846,6 +851,7 @@
"Configure xAI Grok model specific settings": "Configure xAI Grok model specific settings",
"Configure your account behavior preferences": "Configure your account behavior preferences",
"Configure your account preferences and integrations": "Configure your account preferences and integrations",
"Configured routes and latency checks": "Configured routes and latency checks",
"Confirm": "Confirm",
"Confirm Action": "Confirm Action",
"Confirm Batch Update": "Confirm Batch Update",
@@ -937,6 +943,7 @@
"Copy model name": "Copy model name",
"Copy model names": "Copy model names",
"Copy prompt": "Copy prompt",
"Copy ready-to-run curl": "Copy ready-to-run curl",
"Copy redemption code": "Copy redemption code",
"Copy referral link": "Copy referral link",
"Copy Request Header": "Copy Request Header",
@@ -962,9 +969,11 @@
"CPU Threshold (%)": "CPU Threshold (%)",
"Create": "Create",
"Create a copy of:": "Create a copy of:",
"Create a key for your app or service": "Create a key for your app or service",
"Create a new user group to configure ratio overrides for.": "Create a new user group to configure ratio overrides for.",
"Create account": "Create account",
"Create an account": "Create an account",
"Create an API key to unlock the real request": "Create an API key to unlock the real request",
"Create and review invite or credit codes.": "Create and review invite or credit codes.",
"Create API Key": "Create API Key",
"Create cache": "Create cache",
@@ -996,6 +1005,7 @@
"Credential generated": "Credential generated",
"Credential refreshed": "Credential refreshed",
"Credentials": "Credentials",
"Credit remaining": "Credit remaining",
"Creem API key (leave blank unless updating)": "Creem API key (leave blank unless updating)",
"Creem Gateway": "Creem Gateway",
"Creem Payment": "Creem Payment",
@@ -1009,6 +1019,7 @@
"Current Balance": "Current Balance",
"Current Billing": "Current Billing",
"Current Cache Size": "Current Cache Size",
"Current domain": "Current domain",
"Current email: {{email}}. Enter a new email to change.": "Current email: {{email}}. Enter a new email to change.",
"Current key": "Current key",
"Current legacy JSON is invalid, cannot append": "Current legacy JSON is invalid, cannot append",
@@ -1211,6 +1222,7 @@
"Display name shown to users.": "Display name shown to users.",
"Display Options": "Display Options",
"Display Token Statistics": "Display Token Statistics",
"Displayed in": "Displayed in",
"Displays the mobile sidebar.": "Displays the mobile sidebar.",
"Do not over-trust this feature. IP may be spoofed. Please use with nginx, CDN and other gateways.": "Do not over-trust this feature. IP may be spoofed. Please use with nginx, CDN and other gateways.",
"Do not repeat check-in; only once per day": "Do not repeat check-in; only once per day",
@@ -1714,6 +1726,7 @@
"Finance": "Finance",
"Fine-tune Midjourney integration and guardrails.": "Fine-tune Midjourney integration and guardrails.",
"Finish Time": "Finish Time",
"First API request": "First API request",
"First/Last Frame to Video": "First/Last Frame to Video",
"Fix Abilities": "Fix Abilities",
"Fixed abilities: {{success}} succeeded, {{fails}} failed": "Fixed abilities: {{success}} succeeded, {{fails}} failed",
@@ -1800,6 +1813,7 @@
"Generation quality preset": "Generation quality preset",
"Generic cache": "Generic cache",
"Get notified when balance falls below this value": "Get notified when balance falls below this value",
"Get started": "Get started",
"Get Started": "Get Started",
"GitHub": "GitHub",
"Give the group a recognizable name and optional description.": "Give the group a recognizable name and optional description.",
@@ -1856,6 +1870,7 @@
"Group-based rate limits": "Group-based rate limits",
"Group:": "Group:",
"Group: {{ratio}}x": "Group: {{ratio}}x",
"Grouped monitor status from Uptime Kuma": "Grouped monitor status from Uptime Kuma",
"Groups": "Groups",
"Groups *": "Groups *",
"Groups that users can select when creating API keys.": "Groups that users can select when creating API keys.",
@@ -1884,6 +1899,7 @@
"Hidden — verify to reveal": "Hidden — verify to reveal",
"Hide": "Hide",
"Hide API key": "Hide API key",
"Hide setup guide": "Hide setup guide",
"High Performance": "High Performance",
"High-risk operation confirmation": "High-risk Operation Confirmation",
"High-risk status code retry confirmation text": "I CONFIRM",
@@ -1990,6 +2006,7 @@
"Input tokens": "Input tokens",
"Input Tokens": "Input Tokens",
"Inset": "Inset",
"Inspect requests, errors, and billing details": "Inspect requests, errors, and billing details",
"Inspect user prompts": "Inspect user prompts",
"Instance": "Instance",
"Integrations": "Integrations",
@@ -2063,8 +2080,10 @@
"JustSong": "JustSong",
"K": "K",
"Keep enabled if you need to proxy requests for different upstream accounts.": "Keep enabled if you need to proxy requests for different upstream accounts.",
"Keep enough balance before production traffic": "Keep enough balance before production traffic",
"Keep original value": "Keep original value",
"Keep original value (skip if target exists)": "Keep original value (skip if target exists)",
"Keep the platform ready": "Keep the platform ready",
"Keep this above 1 minute to avoid heavy database load": "Keep this above 1 minute to avoid heavy database load",
"Keep-alive Ping": "Keep-alive Ping",
"Key": "Key",
@@ -2090,7 +2109,11 @@
"Last updated:": "Last updated:",
"Last Used": "Last Used",
"Last used:": "Last used:",
"Latency": "Latency",
"Latency check": "Latency check",
"Latency short": "Lat.",
"Latency trend (last 24h)": "Latency trend (last 24h)",
"Latest platform updates and notices": "Latest platform updates and notices",
"Lavender Dream": "Lavender Dream",
"Layout": "Layout",
"lead": "lead",
@@ -2141,6 +2164,7 @@
"Load Balancing": "Load Balancing",
"Load template...": "Load template...",
"Loader": "Loader",
"Loading": "Loading",
"Loading configuration": "Loading configuration",
"Loading content settings...": "Loading content settings...",
"Loading current models...": "Loading current models...",
@@ -2314,6 +2338,7 @@
"Model ratios reset successfully": "Model ratios reset successfully",
"Model Regex": "Model Regex",
"Model Regex (one per line)": "Model Regex (one per line)",
"Model selected": "Model selected",
"Model Square": "Model Square",
"Model Tags": "Model Tags",
"Model to use for testing": "Model to use for testing",
@@ -2344,6 +2369,7 @@
"Module availability": "Module availability",
"MokaAI": "MokaAI",
"Monitor": "Monitor",
"Monitor balance, usage, and request volume": "Monitor balance, usage, and request volume",
"Monitoring & Alerts": "Monitoring & Alerts",
"Month": "Month",
"Month number": "Month number",
@@ -2406,6 +2432,7 @@
"name@example.com": "name@example.com",
"Native format": "Native format",
"Need a code?": "Need a code?",
"Needs API key": "Needs API key",
"Nested JSON defining per-group rules for adding (+:), removing (-:), or appending usable groups.": "Nested JSON defining per-group rules for adding (+:), removing (-:), or appending usable groups.",
"Nested JSON: source group →": "Nested JSON: source group →",
"Network proxy for this channel (supports socks5 protocol)": "Network proxy for this channel (supports socks5 protocol)",
@@ -2438,6 +2465,7 @@
"No announcements at this time": "No announcements at this time",
"No announcements yet. Click \"Add Announcement\" to create one.": "No announcements yet. Click \"Add Announcement\" to create one.",
"No API Domains yet. Click \"Add API\" to create one.": "No API Domains yet. Click \"Add API\" to create one.",
"No API key yet": "No API key yet",
"No API keys available. Create your first API key to get started.": "No API keys available. Create your first API key to get started.",
"No API Keys Found": "No API Keys Found",
"No API routes configured": "No API routes configured",
@@ -2632,6 +2660,7 @@
"One IP or CIDR range per line": "One IP or CIDR range per line",
"One IP per line (empty for no restriction)": "One IP per line (empty for no restriction)",
"one keyword per line": "one keyword per line",
"Online": "Online",
"Online payment is not enabled. Please contact the administrator.": "Online payment is not enabled. Please contact the administrator.",
"Online topup is not enabled. Please use redemption code or contact administrator.": "Online topup is not enabled. Please use redemption code or contact administrator.",
"Only allow specific email domains": "Only allow specific email domains",
@@ -3082,6 +3111,7 @@
"Raw Quota": "Raw Quota",
"Re-enable on success": "Re-enable on success",
"Re-login": "Re-login",
"Ready": "Ready",
"Ready to initialize": "Ready to initialize",
"Ready to simplify": "Ready to simplify",
"Real exchange rate between USD and your payment gateway currency": "Real exchange rate between USD and your payment gateway currency",
@@ -3097,6 +3127,7 @@
"Recharge Amount": "Recharge Amount",
"Recharge Amount (USD)": "Recharge Amount (USD)",
"Recommended": "Recommended",
"Recommended actions": "Recommended actions",
"Recommended to keep this high to avoid upstream throttling.": "Recommended to keep this high to avoid upstream throttling.",
"Record IP Address": "Record IP Address",
"Record quota usage": "Record quota usage",
@@ -3281,6 +3312,7 @@
"Revenue": "Revenue",
"Review & initialize": "Review & initialize",
"Review current version and fetch release notes.": "Review current version and fetch release notes.",
"Review model rates before scaling traffic": "Review model rates before scaling traffic",
"Review your payment details": "Review your payment details",
"Review your purchase details before proceeding.": "Review your purchase details before proceeding.",
"Rewards will be added directly to your balance": "Rewards will be added directly to your balance",
@@ -3291,8 +3323,10 @@
"Root": "Root",
"Rose Garden": "Rose Garden",
"Route": "Route",
"Route active": "Route active",
"Route Description": "Route Description",
"Route is required": "Route is required",
"Route, auth, and balance check in one place": "Route, auth, and balance check in one place",
"Routing & Overrides": "Routing & Overrides",
"Routing Strategy": "Routing Strategy",
"Rows per page": "Rows per page",
@@ -3401,6 +3435,7 @@
"Secret environment variables (JSON)": "Secret environment variables (JSON)",
"Secret Key": "Secret Key",
"Secure & Reliable": "Secure & Reliable",
"Secured": "Secured",
"Security": "Security",
"Security & Limits": "Security & Limits",
"Security Check": "Security Check",
@@ -3480,6 +3515,7 @@
"Selected when creating a token and used as the default billing group for API calls.": "Selected when creating a token and used as the default billing group for API calls.",
"Self-Use Mode": "Self-Use Mode",
"Send": "Send",
"Send a request": "Send a request",
"Send code": "Send code",
"Send email alerts when a user falls below this quota": "Send email alerts when a user falls below this quota",
"Sending...": "Sending...",
@@ -3520,7 +3556,11 @@
"Settings": "Settings",
"Settings & Preferences": "Settings & Preferences",
"Settings updated successfully": "Settings updated successfully",
"Setup guide": "Setup guide",
"Setup guide complete": "Setup guide complete",
"Setup guide is collapsed. Expand it anytime.": "Setup guide is collapsed. Expand it anytime.",
"Setup Instructions": "Setup Instructions",
"Setup progress: {{completed}}/{{total}}": "Setup progress: {{completed}}/{{total}}",
"Setup Two-Factor Authentication": "Setup Two-Factor Authentication",
"Share": "Share",
"Share your link and earn rewards": "Share your link and earn rewards",
@@ -3531,6 +3571,7 @@
"Show all providers including unbound": "Show all providers including unbound",
"Show only bound providers": "Show only bound providers",
"Show prices in currency instead of quota.": "Show prices in currency instead of quota.",
"Show setup guide": "Show setup guide",
"Show token usage statistics in the UI": "Show token usage statistics in the UI",
"Showcase core capabilities with demo credentials and limited access.": "Showcase core capabilities with demo credentials and limited access.",
"Showing": "Showing",
@@ -3605,11 +3646,11 @@
"Statistical tokens": "Statistical tokens",
"Statistics reset": "Statistics reset",
"Status": "Status",
"Status short": "Status",
"Status & Sync": "Status & Sync",
"Status Code": "Status Code",
"Status Code Mapping": "Status Code Mapping",
"Status Page Slug": "Status Page Slug",
"Status short": "Status",
"Status:": "Status:",
"Stay": "Stay",
"Stay tuned though!": "Stay tuned though!",
@@ -3754,6 +3795,7 @@
"Test Latency": "Test Latency",
"Test Mode": "Test Mode",
"Test Model": "Test Model",
"Test models and prompts from the browser": "Test models and prompts from the browser",
"Testing all enabled channels started. Please refresh to see results.": "Testing all enabled channels started. Please refresh to see results.",
"Testing...": "Testing...",
"Text": "Text",
@@ -3837,8 +3879,8 @@
"This year": "This year",
"Three steps to get started": "Three steps to get started",
"Throughput": "Throughput",
"Throughput short": "TPS",
"Throughput by group": "Throughput by group",
"Throughput short": "TPS",
"Throughput trend": "Throughput trend",
"Tier": "Tier",
"Tier conditions": "Tier conditions",
@@ -4092,6 +4134,7 @@
"URL is required": "URL is required",
"URL to your logo image (optional)": "URL to your logo image (optional)",
"Usage": "Usage",
"Usage at a glance": "Usage at a glance",
"Usage guide": "Usage guide",
"Usage logs": "Usage logs",
"Usage Logs": "Usage Logs",
@@ -4189,6 +4232,7 @@
"Verification required to reveal the saved key.": "Verification required to reveal the saved key.",
"Verify": "Verify",
"Verify and Sign In": "Verify and Sign In",
"Verify routing with Playground or your client": "Verify routing with Playground or your client",
"Verify Setup": "Verify Setup",
"Verify your database connection": "Verify your database connection",
"Version Overrides": "Version Overrides",
@@ -4346,6 +4390,7 @@
"Your GitHub OAuth Client Secret": "Your GitHub OAuth Client Secret",
"Your new backup codes are ready": "Your new backup codes are ready",
"Your Referral Link": "Your Referral Link",
"Your setup guide is collapsed so usage stays in focus.": "Your setup guide is collapsed so usage stays in focus.",
"Your system access token for API authentication. Keep it secure and don't share it with others.": "Your system access token for API authentication. Keep it secure and don't share it with others.",
"Your Telegram Bot Token": "Your Telegram Bot Token",
"Your Turnstile secret key": "Your Turnstile secret key",