Skip to content

feat(happy-app): scroll-to-bottom button in chat session#1045

Merged
bra1nDump merged 1 commit intoslopus:mainfrom
chphch:feat/1038-scroll-to-bottom
Apr 13, 2026
Merged

feat(happy-app): scroll-to-bottom button in chat session#1045
bra1nDump merged 1 commit intoslopus:mainfrom
chphch:feat/1038-scroll-to-bottom

Conversation

@chphch
Copy link
Copy Markdown
Contributor

@chphch chphch commented Apr 13, 2026

Summary

  • Add a floating scroll-to-bottom button (chevron-down) that appears when user scrolls up in a chat session
  • Button smoothly scrolls back to latest messages on tap
  • Follows existing FAB.tsx pattern for consistent styling

Implementation

  • onScroll handler on inverted FlatList tracks contentOffset.y
  • Button appears when offset exceeds 300px threshold
  • scrollToOffset({ offset: 0, animated: true }) jumps to newest messages (inverted list)
  • 36x36 compact button using theme.colors.fab.* colors
  • Cross-platform: iOS, Android, Web, macOS/Tauri

Test plan

  • Scroll up in a long chat session — button should appear
  • Tap button — should smooth-scroll to latest message
  • Stay near bottom — button should not appear
  • Test on iOS, Android, and web

Fixes #1038

🤖 Generated with Claude Code

Add a floating chevron-down button that appears when the user scrolls
up beyond 300px in a chat session. Tapping the button smoothly scrolls
back to the latest messages.

- Track scroll position via onScroll handler on the inverted FlatList
- Show/hide button based on contentOffset.y threshold
- Follow existing FAB.tsx styling pattern (shadow, theme colors)
- Smaller button (36x36) to avoid obstructing chat content
- Works across all platforms (iOS, Android, Web, macOS)

Fixes slopus#1038

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: Scroll-to-bottom button in chat session

2 participants