Ticker panel polish: freshness up top, radar pad, indicator grid,
Deploy / lint (push) Successful in 6s
Deploy / test (push) Successful in 1m4s
Deploy / deploy (push) Successful in 35s

verdict de-dup, target picker on take

Five fixes from prod review:

1. Data freshness row moves from the panel foot to directly under the
   header - data age is a first-look concern.
2. Radar fingerprint labels were clipped left ("Momentum") and right
   (value digits): label padding widened to fit "momentum 100" on both
   anchored sides.
3. Indicators tab: the one-at-a-time dropdown (which also clipped) is
   gone; all indicators load in parallel as quiet outlined cards - EMA
   cross with its colored signal, RSI/ADX with a one-line human read
   (overbought / trending / ...), values formatted to 2 decimals
   instead of 4, normalized score demoted to a corner note.
4. Recommendation verdict line de-duplicated: the backend reasoning
   already starts with the action label, so it now replaces the
   headline instead of repeating under it.
5. Mark-as-taken: the take form gains a target selector listing every
   detected target with price / probability / classification (primary
   preselected), and the card warns when the primary target sits below
   15% probability. Why the scanner promotes such a target to primary
   is a separate (backend) question.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-10 12:20:23 +02:00
co-authored by Claude Fable 5
parent d806ede07e
commit 03bdcbd745
4 changed files with 180 additions and 114 deletions
+2 -1
View File
@@ -137,7 +137,8 @@ export function RadarChart({
const [hover, setHover] = useState<number | null>(null);
const n = axes.length;
if (n < 3) return null;
const pad = labels ? 74 : 10;
// Label pad must fit "momentum 100" fully outside the left/right vertices.
const pad = labels ? 96 : 10;
const vb = size + pad * 2;
const c = vb / 2;
const r = size / 2;