refactor: codex usage ui (#5595)

* refactor: codex usage ui

* feat: show Codex reset credit details

* feat: add Codex usage reset flow
This commit is contained in:
Seefs
2026-06-19 16:07:32 +08:00
committed by GitHub
parent 6bd69f3edf
commit 3fcd741c6e
12 changed files with 1509 additions and 424 deletions
+32
View File
@@ -234,6 +234,7 @@
"Advanced Settings": "Advanced Settings",
"Advanced text editing": "Advanced text editing",
"Aesthetic style": "Aesthetic style",
"Affected windows:": "Affected windows:",
"After clicking the button, you'll be asked to authorize the bot": "After clicking the button, you'll be asked to authorize the bot",
"After disabling, it will no longer be shown to users, but historical orders are not affected. Continue?": "After disabling, it will no longer be shown to users, but historical orders are not affected. Continue?",
"After enabling, the plan will be shown to users. Continue?": "After enabling, the plan will be shown to users. Continue?",
@@ -394,6 +395,7 @@
"Apply Filters": "Apply Filters",
"Apply IP Filter to Resolved Domains": "Apply IP Filter to Resolved Domains",
"Apply Overwrite": "Apply Overwrite",
"Apply reset": "Apply reset",
"Apply Sync": "Apply Sync",
"Applying...": "Applying...",
"Approx.": "Approx.",
@@ -485,8 +487,10 @@
"Automatically sync model list when upstream changes are detected": "Automatically sync model list when upstream changes are detected",
"Availability (last 24h)": "Availability (last 24h)",
"Available": "Available",
"Available credits are ordered by soonest expiration.": "Available credits are ordered by soonest expiration.",
"Available disk space": "Available disk space",
"Available Models": "Available Models",
"Available reset credits": "Available reset credits",
"Available Rewards": "Available Rewards",
"Average latency": "Average latency",
"Average latency, TTFT, and success rate by group": "Average latency, TTFT, and success rate by group",
@@ -686,6 +690,7 @@
"Channel enabled successfully": "Channel enabled successfully",
"Channel Extra Settings": "Channel Extra Settings",
"Channel ID": "Channel ID",
"Channel ID is required": "Channel ID is required",
"Channel key": "Channel key",
"Channel key unlocked": "Channel key unlocked",
"Channel models": "Channel models",
@@ -811,6 +816,7 @@
"Codes copied!": "Codes copied!",
"Codex": "Codex",
"Codex Account & Usage": "Codex Account & Usage",
"Codex Account Status": "Codex Account Status",
"Codex channels do not support batch creation": "Codex channels do not support batch creation",
"Codex channels use an OAuth JSON credential as the key.": "Codex channels use an OAuth JSON credential as the key.",
"Codex CLI Header Passthrough": "Codex CLI Header Passthrough",
@@ -928,6 +934,7 @@
"Confirm settings and finish setup": "Confirm settings and finish setup",
"confirm that I bear legal responsibility arising from deployment": "confirm that I bear legal responsibility arising from deployment",
"Confirm Unbind": "Confirm Unbind",
"Confirm usage reset": "Confirm usage reset",
"Confirm your identity before removing this Passkey from your account.": "Confirm your identity before removing this Passkey from your account.",
"Confirm your identity with Two-factor Authentication before registering a Passkey.": "Confirm your identity with Two-factor Authentication before registering a Passkey.",
"Confirmed at {{time}} by user #{{userId}}": "Confirmed at {{time}} by user #{{userId}}",
@@ -1625,6 +1632,8 @@
"Expired at": "Expired at",
"Expired time cannot be earlier than current time": "Expired time cannot be earlier than current time",
"Expires": "Expires",
"Expires at": "Expires at",
"Expires in": "Expires in",
"Expose ratio API": "Expose ratio API",
"Exposes the pricing/models catalog in the top navigation.": "Exposes the pricing/models catalog in the top navigation.",
"Expression": "Expression",
@@ -1699,6 +1708,7 @@
"Failed to fetch deployment details": "Failed to fetch deployment details",
"Failed to fetch models": "Failed to fetch models",
"Failed to fetch OIDC configuration. Please check the URL and network status": "Failed to fetch OIDC configuration. Please check the URL and network status",
"Failed to fetch reset credit details": "Failed to fetch reset credit details",
"Failed to fetch upstream prices": "Failed to fetch upstream prices",
"Failed to fetch upstream ratios": "Failed to fetch upstream ratios",
"Failed to fetch usage": "Failed to fetch usage",
@@ -1732,6 +1742,7 @@
"Failed to reset 2FA": "Failed to reset 2FA",
"Failed to reset model ratios": "Failed to reset model ratios",
"Failed to reset Passkey": "Failed to reset Passkey",
"Failed to reset usage": "Failed to reset usage",
"Failed to save": "Failed to save",
"Failed to save announcements": "Failed to save announcements",
"Failed to save API info": "Failed to save API info",
@@ -1962,6 +1973,7 @@
"gpt-4": "gpt-4",
"gpt-4, claude-3-opus, etc.": "gpt-4, claude-3-opus, etc.",
"GPU count": "GPU count",
"Granted at": "Granted at",
"Greater than": "Greater than",
"Greater Than": "Greater Than",
"Greater than or equal": "Greater than or equal",
@@ -2726,6 +2738,8 @@
"No related models available for this channel type": "No related models available for this channel type",
"No release notes provided.": "No release notes provided.",
"No Reset": "No Reset",
"No reset credits": "No reset credits",
"No reset credits available": "No reset credits available",
"No restriction": "No restriction",
"No results for \"{{query}}\". Try adjusting your search or filters.": "No results for \"{{query}}\". Try adjusting your search or filters.",
"No results found": "No results found",
@@ -2915,6 +2929,7 @@
"Output token price for generated tokens.": "Output token price for generated tokens.",
"Output tokens": "Output tokens",
"Output Tokens": "Output Tokens",
"Overage limited": "Overage limited",
"overall": "overall",
"Overnight range": "Overnight range",
"override": "override",
@@ -3346,6 +3361,8 @@
"Recursive": "Recursive",
"Redeem": "Redeem",
"Redeem codes": "Redeem codes",
"Redeemed": "Redeemed",
"Redeemed at": "Redeemed at",
"Redeemed By": "Redeemed By",
"Redeemed:": "Redeemed:",
"redemption code": "redemption code",
@@ -3373,6 +3390,7 @@
"Refresh": "Refresh",
"Refresh Cache": "Refresh Cache",
"Refresh credential": "Refresh credential",
"Refresh details": "Refresh details",
"Refresh failed": "Refresh failed",
"Refresh interval (minutes)": "Refresh interval (minutes)",
"Refresh Stats": "Refresh Stats",
@@ -3491,6 +3509,11 @@
"Reset all settings to default values": "Reset all settings to default values",
"Reset at:": "Reset at:",
"Reset balance and used quota": "Reset balance and used quota",
"Reset completed": "Reset completed",
"Reset completed. Latest usage has been refreshed.": "Reset completed. Latest usage has been refreshed.",
"Reset count:": "Reset count:",
"Reset Credit": "Reset Credit",
"Reset Credits": "Reset Credits",
"Reset Cycle": "Reset Cycle",
"Reset email sent, please check your inbox": "Reset email sent, please check your inbox",
"Reset failed": "Reset failed",
@@ -3506,7 +3529,9 @@
"Reset to Default": "Reset to Default",
"Reset to default configuration": "Reset to default configuration",
"Reset Two-Factor Authentication": "Reset Two-Factor Authentication",
"Reset usage window": "Reset usage window",
"Resets in:": "Resets in:",
"Resetting...": "Resetting...",
"Resolve Conflicts": "Resolve Conflicts",
"Resource Configuration": "Resource Configuration",
"Response": "Response",
@@ -3872,6 +3897,7 @@
"Special ratios override the token group ratio for specific user group and token group combinations.": "Special ratios override the token group ratio for specific user group and token group combinations.",
"Special usable group rules": "Special usable group rules",
"Special usable group rules can add, remove, or append selectable token groups for a specific user group.": "Special usable group rules can add, remove, or append selectable token groups for a specific user group.",
"Spend limited": "Spend limited",
"SQLite stores all data in a single file. Make sure that file is persisted when running in containers.": "SQLite stores all data in a single file. Make sure that file is persisted when running in containers.",
"SSRF Protection": "SSRF Protection",
"Standard": "Standard",
@@ -4088,6 +4114,7 @@
"The name displayed across the application": "The name displayed across the application",
"The public URL of your server, used for OAuth callbacks, webhooks, and other external integrations": "The public URL of your server, used for OAuth callbacks, webhooks, and other external integrations",
"The requested chat preset does not exist or has been removed.": "The requested chat preset does not exist or has been removed.",
"The reset request stays disabled until a credit is available.": "The reset request stays disabled until a credit is available.",
"The setup wizard will use this database during initialization.": "The setup wizard will use this database during initialization.",
"The site is not available at the moment.": "The site is not available at the moment.",
"The slug is appended to the URL:": "The slug is appended to the URL:",
@@ -4402,6 +4429,7 @@
"Upload photo": "Upload photo",
"Upscale": "Upscale",
"Upstream": "Upstream",
"Upstream did not return reset credit details.": "Upstream did not return reset credit details.",
"Upstream Model Detection Settings": "Upstream Model Detection Settings",
"Upstream Model Update Check": "Upstream Model Update Check",
"Upstream Model Updates": "Upstream Model Updates",
@@ -4447,6 +4475,8 @@
"Use backup code": "Use backup code",
"Use disk cache when request body exceeds this size": "Use disk cache when request body exceeds this size",
"Use external tools to extend capabilities": "Use external tools to extend capabilities",
"Use one available reset credit for this channel. The reset request is sent only after confirmation.": "Use one available reset credit for this channel. The reset request is sent only after confirmation.",
"Use one available reset credit to refresh the current Codex usage windows.": "Use one available reset credit to refresh the current Codex usage windows.",
"Use our unified OpenAI-compatible endpoint in your applications": "Use our unified OpenAI-compatible endpoint in your applications",
"Use Passkey to sign in without entering your password.": "Use Passkey to sign in without entering your password.",
"Use presets or upstream discovery to populate the model list faster.": "Use presets or upstream discovery to populate the model list faster.",
@@ -4464,6 +4494,7 @@
"Used for load balancing. Higher weight = more requests": "Used for load balancing. Higher weight = more requests",
"Used in URLs and API routes": "Used in URLs and API routes",
"Used Quota": "Used Quota",
"Used reset credits cannot be restored.": "Used reset credits cannot be restored.",
"Used to authenticate with io.net deployment API": "Used to authenticate with io.net deployment API",
"Used to authenticate with the worker. Leave blank to keep the existing secret.": "Used to authenticate with the worker. Leave blank to keep the existing secret.",
"Used to decide the payment flow. Built-in keys include stripe for Stripe and waffo_pancake for Waffo Pancake; other values are sent to Epay as the type parameter.": "Used to decide the payment flow. Built-in keys include stripe for Stripe and waffo_pancake for Waffo Pancake; other values are sent to Epay as the type parameter.",
@@ -4555,6 +4586,7 @@
"View detailed information about this user including balance, usage statistics, and invitation details.": "View detailed information about this user including balance, usage statistics, and invitation details.",
"View details": "View details",
"View document": "View document",
"View issued reset credits, grant dates, and expiration.": "View issued reset credits, grant dates, and expiration.",
"View logs": "View logs",
"View mode": "View mode",
"View model statistics and charts": "View model statistics and charts",