diff --git a/apps/web/src/components/practice/SessionPausedModal.tsx b/apps/web/src/components/practice/SessionPausedModal.tsx index ed5b3a10..e0c72257 100644 --- a/apps/web/src/components/practice/SessionPausedModal.tsx +++ b/apps/web/src/components/practice/SessionPausedModal.tsx @@ -255,6 +255,8 @@ export function SessionPausedModal({ // Live-updating pause duration const [pauseDuration, setPauseDuration] = useState(0) + // Toggle for showing stats details + const [showStats, setShowStats] = useState(false) useEffect(() => { if (!isOpen || !pauseInfo?.pausedAt) { @@ -430,72 +432,68 @@ export function SessionPausedModal({ data-element="rhythm-explanation" className={css({ width: '100%', - padding: '1rem', - backgroundColor: isDark ? 'blue.900/50' : 'blue.50', - borderRadius: '12px', - border: '1px solid', - borderColor: isDark ? 'blue.700' : 'blue.200', })} > - {/* We know their rhythm */} -
- 🎵 - - We Know Your Rhythm! - -
- + {/* Main explanation text */}

- We watched you solve{' '} - - {stats.sampleCount} problems - {' '} - and learned your speed! Usually you take{' '} - - {formatSecondsFriendly(stats.meanMs)} - - . + Usually you take {formatSecondsFriendly(stats.meanMs)}. This one took longer, so we + paused to check in.{' '} +

- {/* Speed visualization */} - - -

- The blue bar shows your usual range. This problem took longer, so we paused to check - in! -

+ {/* Collapsible stats visualization */} + {showStats && ( +
+ +

+ The blue bar shows your usual range. +

+
+ )} )} @@ -606,7 +604,7 @@ export function SessionPausedModal({ className={css({ display: 'flex', flexDirection: 'column', - gap: '0.5rem', + gap: '0.75rem', width: '100%', })} > @@ -615,30 +613,31 @@ export function SessionPausedModal({ data-action="resume" onClick={onResume} className={css({ - padding: '1rem', - fontSize: '1.125rem', + padding: '1.25rem', + fontSize: '1.25rem', fontWeight: 'bold', color: 'white', - background: 'linear-gradient(135deg, #22c55e, #16a34a)', - borderRadius: '12px', - border: 'none', + background: 'linear-gradient(135deg, #16a34a, #15803d)', + borderRadius: '16px', + border: '3px solid', + borderColor: '#14532d', cursor: 'pointer', display: 'flex', alignItems: 'center', justifyContent: 'center', gap: '0.5rem', transition: 'all 0.15s ease', - boxShadow: '0 4px 12px rgba(34, 197, 94, 0.3)', + boxShadow: '0 6px 20px rgba(22, 163, 74, 0.5), inset 0 1px 0 rgba(255,255,255,0.2)', + textShadow: '0 1px 2px rgba(0, 0, 0, 0.3)', _hover: { transform: 'translateY(-2px)', - boxShadow: '0 6px 16px rgba(34, 197, 94, 0.4)', + boxShadow: '0 8px 24px rgba(22, 163, 74, 0.6), inset 0 1px 0 rgba(255,255,255,0.2)', }, _active: { transform: 'translateY(0)', }, })} > - ▶️ Keep Going! @@ -647,21 +646,25 @@ export function SessionPausedModal({ data-action="end-session" onClick={onEndSession} className={css({ - padding: '0.625rem', - fontSize: '0.8125rem', - color: isDark ? 'gray.400' : 'gray.500', + padding: '0.5rem', + fontSize: '0.75rem', + color: isDark ? 'gray.500' : 'gray.400', backgroundColor: 'transparent', - borderRadius: '8px', + borderRadius: '6px', border: 'none', cursor: 'pointer', transition: 'all 0.15s ease', + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + gap: '0.25rem', _hover: { - color: isDark ? 'red.300' : 'red.600', - backgroundColor: isDark ? 'red.900/30' : 'red.50', + color: isDark ? 'gray.400' : 'gray.500', }, })} > - End Session Early + 🛑 + end session