Skip to content

fix: InputModal buttons not visible on TV for TV settings#293

Merged
ProdigyV21 merged 1 commit into
ProdigyV21:mainfrom
chillpill244:fix/inputmodal-tv-scroll-buttons
Jun 3, 2026
Merged

fix: InputModal buttons not visible on TV for TV settings#293
ProdigyV21 merged 1 commit into
ProdigyV21:mainfrom
chillpill244:fix/inputmodal-tv-scroll-buttons

Conversation

@chillpill244
Copy link
Copy Markdown
Contributor

@chillpill244 chillpill244 commented Jun 3, 2026

Summary

  • Add/Confirm button not visible: On TV devices with smaller screen densities, the settings input dialog (IPTV username/password/EPG popup) would overflow the screen, pushing the Add/Confirm button off the bottom. Fixed by replacing hardcoded formMaxHeight tiers and heightIn(max=660dp) with a screen-aware cap (screenHeight × 0.88, capped at 660dp), and changing the scrollable form to weight(1f, fill=false) so the header and action buttons are always measured and pinned as visible.
  • Field scroll overshoot: The D-pad auto-scroll used a hardcoded approxFieldHeightPx = 260 that was uncalibrated for different screen densities, causing fields 2 and 3 to scroll out of view. Replaced with a proportional distribution across formScrollState.maxValue — density-independent and adapts to the actual form height.
  • Paste button text clipped: Added maxLines = 1 + TextOverflow.Ellipsis to the paste button label so long field names truncate gracefully instead of being sharply cut off.

Test plan

  • Open Settings → Add TV Playlist (5-field IPTV form) on a TV device and verify the Add/Confirm button is visible without scrolling the outer dialog
  • D-pad navigate through all 5 fields and verify each field stays in view
  • Open Settings → Home Server (4-field form) and repeat
  • Check paste button label truncates with on a narrow screen

🤖 Generated with Claude Code

- Replace hardcoded formMaxHeight tiers with screen-aware maxDialogHeight
  (88% of screen height, capped at 660dp) so the dialog never overflows
  small-density TV screens
- Change scrollable form Column from heightIn(max=...) to weight(1f, fill=false)
  so header/paste/cancel/confirm buttons are always measured and visible
- Replace hardcoded approxFieldHeightPx=260 scroll logic with proportional
  distribution across formScrollState.maxValue — density-independent and
  adapts to the actual form height
- Add maxLines=1 + TextOverflow.Ellipsis to Paste button text to prevent
  label clipping on narrow screens

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@chillpill244 chillpill244 changed the title fix: InputModal buttons always visible + paste text ellipsis on TV fix: InputModal buttons not visible on TV for TV settings Jun 3, 2026
@ProdigyV21 ProdigyV21 merged commit 7ef9791 into ProdigyV21:main Jun 3, 2026
1 check passed
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.

2 participants