From 0106145a45e3e087b94b8131e468d8d8724faf91 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 12 Aug 2026 05:19:22 +0000 Subject: [PATCH] docs(countdown): explain why the sticky offset is measured The group card scales with the viewport, grows while live and wraps on long titles, measuring between 91px and 171px. A constant would leave the running event behind the pinned header. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01GjX7D56AW8cL3FXjvtnjtL --- apps/client/src/views/countdown/CountdownSubscriptions.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/client/src/views/countdown/CountdownSubscriptions.tsx b/apps/client/src/views/countdown/CountdownSubscriptions.tsx index eb5ef00ed..895621297 100644 --- a/apps/client/src/views/countdown/CountdownSubscriptions.tsx +++ b/apps/client/src/views/countdown/CountdownSubscriptions.tsx @@ -53,7 +53,10 @@ export default function CountdownSubscriptions({ subscribedEvents, goToEditMode const sections = useMemo(() => groupSubscriptionTargets(subscribedEvents), [subscribedEvents]); - // the group of the running event is pinned to the top of the list, the running event needs to clear it + // The group of the running event is pinned to the top of the list, the running event needs to clear it. + // This is measured rather than estimated: the card scales with the viewport (the font sizes are clamped + // against vw), it grows while live since the running event's title is added, and long titles wrap. + // Measured between 91px and 171px, so a constant would leave the running event behind the header. const getStickyOffset = useCallback(() => { const header = stickyHeaderRef.current; // account for the row margin, so that the rows do not touch