Replace the oscillation-prone IntersectionObserver/sentinel pattern with a simpler always-sticky collapsible card. The card defaults to collapsed (mini bar) and users toggle it manually. Outer scroll auto-collapses the timeline to stay out of the way, with scroll-chaining prevention via overscroll-behavior-y: contain. Key changes: - Remove sentinel, IntersectionObserver, and bidirectional isStuck state - Always sticky at top-4 with unified info color scheme - Manual toggle via clickable header with grid-rows animation - Auto-collapse on outer scroll (one-way, prevents oscillation) - Consolidate three task-end handlers into single handleTaskEnd - Add hover interaction (muted-foreground → foreground) - Add aria-expanded for accessibility Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| components | ||
| config | ||
| hooks | ||
| stores | ||
| utils | ||
| index.ts | ||
| store.ts | ||