E2.S3 - ChatPanel scrolling (5 SP) - Scrollable message list met refs (scrollContainerRef, messagesEndRef) - Auto-scroll naar laatste message bij nieuwe berichten - Scroll-lock detection (100px threshold) - "Scroll naar beneden" button tijdens scroll-lock - Initial scroll to bottom bij mount Scrolling Logic: - useRef voor scroll container en messages end tracking - useState voor isScrolledUp en showScrollButton state - handleScroll() detecteert wanneer user omhoog scrollt - scrollToBottom() met smooth/auto behavior support - Auto-scroll alleen wanneer NIET scrolled up (scroll-lock) Scroll Button: - ArrowDown icon (Lucide) - Positioned absolute bottom-4 right-4 - Shadow + hover effects, smooth transitions - Verschijnt alleen bij scroll-lock en messages present - Aria-label voor accessibility Testing: - 12 demo messages voor scrolling behavior test - Conversatie flow: notitie, zoeken, overdracht - Scroll threshold: 100px vanaf bottom Components Updated: - components/swift/chat/chat-panel.tsx (+68 regels) Epic 2 Progress: 3/5 stories compleet (10 SP / 13 SP = 77%) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
7.0 KiB
7.0 KiB