Corp/backend
Игорь Надеин 1dd01ae2c1 feat: Smart button visibility and load-to-present on click
Two types of bottom:
1. Historical bottom (hasMoreAfter=true):
   - Button ALWAYS visible (even at scroll bottom)
   - Click → loads latest 50 messages to present time
   - Renders and scrolls to bottom

2. Present bottom (hasMoreAfter=false):
   - Button hidden when isNearBottom()
   - Click → smart scroll (to unread or bottom)

Changes:
- _setupSmartButtonVisibility() monitors hasMoreAfter
- _handleScrollButtonClick() loads history if hasMoreAfter
- Added public loadLatest() method
- Emits 'chat:messagesLoaded' event for UI updates

Result:
- Historical view: button always shows, loads to present
- Present view: button hides at bottom, smart unread scroll
- No more stuck in history without way to present
2026-01-13 15:21:52 +03:00
..