Replace custom navigation with @noriginmedia/norigin-spatial-navigation for webOS TV app #24
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.
This PR replaces the custom navigation system in the webOS Tatakai app with the official
@noriginmedia/norigin-spatial-navigationlibrary, following industry best practices for TV application development.Problem
The webOS app was using a custom navigation implementation that:
Solution
Implemented the official spatial navigation library with proper React hooks integration:
Key Changes
Library Integration
@noriginmedia/norigin-spatial-navigationdependencyComponent Updates
NavigationProviderwith spatial navigationinit()andFocusContext.ProvideruseFocusablehook instead of custom navigation hooksArchitecture Improvements
trackChildren: truefor navigation hierarchysetFocus()andfocusSelf()Technical Benefits
Verified Features
The implementation follows the exact patterns recommended in the spatial navigation documentation, ensuring compatibility with webOS TV environments and providing a smooth user experience with remote control navigation.
Testing
The application builds successfully and all navigation features have been verified:
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.