refactor: update agent API schemas, standardize UI text styling, and enhance settlement credit ledger components

This commit is contained in:
2026-06-11 18:02:02 +08:00
parent 44ad51698f
commit 1eb6702c51
54 changed files with 1888 additions and 1103 deletions

View File

@@ -113,22 +113,22 @@ export function DrawSettingsPanel() {
title={t("system.sections.draw", { ns: "config" })}
description={t("system.sections.drawDescription", { ns: "config" })}
>
<div className="space-y-5">
<div className="flex flex-wrap items-center justify-between gap-3">
<Label className="text-sm font-medium">{t("system.fields.manualReview", { ns: "config" })}</Label>
<Switch
checked={draft.requireManualReview}
disabled={!canManage || loading || saving}
aria-label={t("system.fields.manualReview", { ns: "config" })}
onCheckedChange={(value) => updateField("requireManualReview", value)}
/>
<div className="space-y-6">
<div className="rounded-xl border border-border/70 bg-card overflow-hidden shadow-sm">
<div className="flex flex-wrap items-center justify-between gap-3 px-4 py-3.5 bg-background/50 transition-colors hover:bg-muted/30">
<Label className="font-medium cursor-pointer" onClick={() => updateField("requireManualReview", !draft.requireManualReview)}>{t("system.fields.manualReview", { ns: "config" })}</Label>
<Switch
checked={draft.requireManualReview}
disabled={!canManage || loading || saving}
aria-label={t("system.fields.manualReview", { ns: "config" })}
onCheckedChange={(value) => updateField("requireManualReview", value)}
/>
</div>
</div>
<div className="h-px bg-border/60" />
<div className="grid grid-cols-1 gap-4 md:grid-cols-2">
<div className="grid gap-2">
<Label htmlFor="default-currency" className="text-sm font-medium">
<div className="grid gap-x-6 gap-y-5 sm:grid-cols-2 lg:grid-cols-3">
<div className="space-y-2">
<Label htmlFor="default-currency" className="text-muted-foreground">
{t("system.fields.defaultCurrency", { ns: "config" })}
</Label>
<Input
@@ -138,10 +138,11 @@ export function DrawSettingsPanel() {
onChange={(e) => updateField("defaultCurrency", e.target.value.toUpperCase())}
disabled={!canManage || loading || saving}
maxLength={16}
className="h-10 bg-background/50 transition-colors focus:bg-background"
/>
</div>
<div className="grid gap-2">
<Label htmlFor="draw-interval-minutes" className="text-sm font-medium">
<div className="space-y-2">
<Label htmlFor="draw-interval-minutes" className="text-muted-foreground">
{t("system.fields.drawIntervalMinutes", { ns: "config" })}
</Label>
<Input
@@ -154,10 +155,11 @@ export function DrawSettingsPanel() {
placeholder={t("system.placeholders.drawIntervalMinutes", { ns: "config" })}
onChange={(e) => updateField("drawIntervalMinutes", e.target.value)}
disabled={!canManage || loading || saving}
className="h-10 bg-background/50 transition-colors focus:bg-background"
/>
</div>
<div className="grid gap-2">
<Label htmlFor="draw-betting-window-seconds" className="text-sm font-medium">
<div className="space-y-2">
<Label htmlFor="draw-betting-window-seconds" className="text-muted-foreground">
{t("system.fields.drawBettingWindowSeconds", { ns: "config" })}
</Label>
<Input
@@ -169,10 +171,11 @@ export function DrawSettingsPanel() {
placeholder={t("system.placeholders.drawBettingWindowSeconds", { ns: "config" })}
onChange={(e) => updateField("drawBettingWindowSeconds", e.target.value)}
disabled={!canManage || loading || saving}
className="h-10 bg-background/50 transition-colors focus:bg-background"
/>
</div>
<div className="grid gap-2">
<Label htmlFor="draw-close-before-seconds" className="text-sm font-medium">
<div className="space-y-2">
<Label htmlFor="draw-close-before-seconds" className="text-muted-foreground">
{t("system.fields.drawCloseBeforeDrawSeconds", { ns: "config" })}
</Label>
<Input
@@ -184,10 +187,11 @@ export function DrawSettingsPanel() {
placeholder={t("system.placeholders.drawCloseBeforeDrawSeconds", { ns: "config" })}
onChange={(e) => updateField("drawCloseBeforeDrawSeconds", e.target.value)}
disabled={!canManage || loading || saving}
className="h-10 bg-background/50 transition-colors focus:bg-background"
/>
</div>
<div className="grid gap-2">
<Label htmlFor="draw-buffer-ahead" className="text-sm font-medium">
<div className="space-y-2">
<Label htmlFor="draw-buffer-ahead" className="text-muted-foreground">
{t("system.fields.drawBufferDrawsAhead", { ns: "config" })}
</Label>
<Input
@@ -199,10 +203,11 @@ export function DrawSettingsPanel() {
placeholder={t("system.placeholders.drawBufferDrawsAhead", { ns: "config" })}
onChange={(e) => updateField("drawBufferDrawsAhead", e.target.value)}
disabled={!canManage || loading || saving}
className="h-10 bg-background/50 transition-colors focus:bg-background"
/>
</div>
<div className="grid gap-2">
<Label htmlFor="cooldown-minutes" className="text-sm font-medium">
<div className="space-y-2">
<Label htmlFor="cooldown-minutes" className="text-muted-foreground">
{t("system.fields.cooldownMinutes", { ns: "config" })}
</Label>
<Input
@@ -214,6 +219,7 @@ export function DrawSettingsPanel() {
placeholder={t("system.placeholders.cooldownMinutes", { ns: "config" })}
onChange={(e) => updateField("cooldownMinutes", e.target.value)}
disabled={!canManage || loading || saving}
className="h-10 bg-background/50 transition-colors focus:bg-background"
/>
</div>
</div>