diff --git a/frontend/src/pages/HealthPage.jsx b/frontend/src/pages/HealthPage.jsx index ed88c35..9196c14 100644 --- a/frontend/src/pages/HealthPage.jsx +++ b/frontend/src/pages/HealthPage.jsx @@ -89,13 +89,13 @@ function Vo2MaxGauge({ value, birthYear, biologicalSex }) { const cat = value != null ? getVo2Category(value, age, biologicalSex) : null - // Small white triangle: base outside the arc, tip touching the outer edge — points inward + // White arrow: tip lands exactly at the arc centre-line at the value's angle; + // base extends outside the track — unambiguously marks the precise position. const arrowPts = value != null ? (() => { const a = toAngle(Math.max(MIN, Math.min(MAX, value))) - const outerEdge = r + sw / 2 // outer surface of the track - const tipR = outerEdge + 1 // tip just outside the track surface - const baseR = outerEdge + 12 // base further out - const s = 0.11 // half-spread ≈ 6° + const tipR = r // tip at centre of the coloured track + const baseR = r + sw / 2 + 9 // base well outside the outer edge + const s = 0.09 // half-spread ≈ 5° — narrow for precision const tipX = cx + tipR * Math.cos(a), tipY = cy - tipR * Math.sin(a) const b1x = cx + baseR * Math.cos(a + s), b1y = cy - baseR * Math.sin(a + s) const b2x = cx + baseR * Math.cos(a - s), b2y = cy - baseR * Math.sin(a - s) @@ -104,7 +104,6 @@ function Vo2MaxGauge({ value, birthYear, biologicalSex }) { return (