feat: cream terminal redesign, English-only UI, autopilot launch fixes

- Redesign dashboard into a cream-paper + vermilion IBM Plex Mono terminal
  (live L2 order book, cost/liq map, WS K-line, signal matrix, orchestration
  topology, risk radar, execution log, current positions, equity curve)
- Convert all user-facing UI and backend strings/prompts from Chinese to
  English (multi-language retained, default English)
- Add /api/statistics/full endpoint + full-stats frontend wiring
- Fix Autopilot launch: reuse the existing trader instead of creating
  duplicates (eliminates repeat ~35s create cost and stale-trader 404s);
  launch sends 5m scan interval
- Fix unreadable toasts: cream theme with high-contrast text + per-type accent
- Silence background dashboard polls (getTraderConfig) to stop error-toast spam
This commit is contained in:
tinkle-community
2026-06-30 16:03:52 +08:00
parent eba28bcf0e
commit 110bf52908
149 changed files with 6835 additions and 3611 deletions

View File

@@ -19,11 +19,11 @@ export function Header({ simple = false }: HeaderProps) {
<img src="/icons/nofx.svg" alt="NoFx Logo" className="w-8 h-8" />
</div>
<div>
<h1 className="text-xl font-bold" style={{ color: '#EAECEF' }}>
<h1 className="text-xl font-bold" style={{ color: '#1A1813' }}>
{t('appTitle', language)}
</h1>
{!simple && (
<p className="text-xs mono" style={{ color: '#848E9C' }}>
<p className="text-xs mono" style={{ color: '#8A8478' }}>
{t('subtitle', language)}
</p>
)}
@@ -33,26 +33,26 @@ export function Header({ simple = false }: HeaderProps) {
{/* Right - Language Toggle (always show) */}
<div
className="flex gap-1 rounded p-1"
style={{ background: '#1E2329' }}
style={{ background: '#E8E2D5' }}
>
<button
onClick={() => setLanguage('zh')}
className="px-3 py-1.5 rounded text-xs font-semibold transition-all"
style={
language === 'zh'
? { background: '#F0B90B', color: '#000' }
: { background: 'transparent', color: '#848E9C' }
? { background: '#E0483B', color: '#F1ECE2' }
: { background: 'transparent', color: '#8A8478' }
}
>
Chinese
</button>
<button
onClick={() => setLanguage('en')}
className="px-3 py-1.5 rounded text-xs font-semibold transition-all"
style={
language === 'en'
? { background: '#F0B90B', color: '#000' }
: { background: 'transparent', color: '#848E9C' }
? { background: '#E0483B', color: '#F1ECE2' }
: { background: 'transparent', color: '#8A8478' }
}
>
EN
@@ -62,8 +62,8 @@ export function Header({ simple = false }: HeaderProps) {
className="px-3 py-1.5 rounded text-xs font-semibold transition-all"
style={
language === 'id'
? { background: '#F0B90B', color: '#000' }
: { background: 'transparent', color: '#848E9C' }
? { background: '#E0483B', color: '#F1ECE2' }
: { background: 'transparent', color: '#8A8478' }
}
>
ID