Implement Big Picture Mode with controller support and TV-optimized UI#73
Draft
Implement Big Picture Mode with controller support and TV-optimized UI#73
Conversation
- Add useGamepadNavigation hook for Xbox/PlayStation controller support - Create BigPictureStore slice for settings management - Implement OnScreenKeyboard component for text input - Build BigPictureModePage with controller-friendly navigation - Add haptic feedback support for supported controllers - Integrate Big Picture mode into settings page - Support dynamic grid sizing based on screen resolution - Add fullscreen API integration Co-authored-by: luandev <6452989+luandev@users.noreply.github.com>
- Create BigPictureDownloadsPage for controller-friendly downloads view - Add multi-monitor detection and selection - Integrate downloads page into Big Picture menu - Update settings page with monitor selection - Add route for /big-picture/downloads Co-authored-by: luandev <6452989+luandev@users.noreply.github.com>
- Create comprehensive BIG_PICTURE_MODE.md documentation - Add controller setup and usage guide - Document all keyboard and controller mappings - Include troubleshooting section - Add performance optimization notes - Update main README with Big Picture Mode feature highlight Co-authored-by: luandev <6452989+luandev@users.noreply.github.com>
- Remove duplicate assignment in useGamepadNavigation - Fix isExtended API call to use method instead of property - Create useFullscreenMode hook to reduce duplication - Fix fullscreen cleanup to only exit if component entered it - Add missing dependencies to OnScreenKeyboard useEffect - Improve error handling in monitor detection Co-authored-by: luandev <6452989+luandev@users.noreply.github.com>
- Refactor gamepad polling to properly include all dependencies - Add useCallback to OnScreenKeyboard functions to prevent recreation - Fix focusedCol dependency in normalization effect - Simplify polling logic by removing intermediate ref - Improve memoization to avoid stale closures Co-authored-by: luandev <6452989+luandev@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add enhancements for Big Picture Mode features
Implement Big Picture Mode with controller support and TV-optimized UI
Dec 31, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Core Components
Controller Integration
useGamepadNavigationhook: Polls Gamepad API at 60fps, handles button mapping and haptic feedback via Vibration APIuseFullscreenModehookUI Components
BigPictureModePage: Main grid view with dynamic column calculation (auto-scales 3-6 columns based on viewport)BigPictureDownloadsPage: Real-time download monitoring with controller navigationOnScreenKeyboard: QWERTY layout with D-pad/analog stick navigation, memoized handlers to prevent stale closuresState Management
bigPictureSlice: Persists button mappings, haptic settings, grid size preferences, and detected monitor countSettings Integration
Testing
Checklist
/semver: patch,/semver: minor, or/semver: major. (See template for examples)Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.