Skip to content

refactor(controller-mode): split library page into controllerLibrary modules - #386

Merged
Jayian1890 merged 4 commits into
devfrom
controller-mode-improvements-20260503-1032
May 3, 2026
Merged

refactor(controller-mode): split library page into controllerLibrary modules#386
Jayian1890 merged 4 commits into
devfrom
controller-mode-improvements-20260503-1032

Conversation

@Jayian1890

Copy link
Copy Markdown
Collaborator

Summary

  • Move controller-mode UI under components/controllerMode and split ControllerLibraryPage into focused hooks, layout components, and action/event modules for maintainability and smaller file sizes.
  • Extract controller input handling into useControllerLibraryEvents (with events/* helpers), window bindings, game derivations, media, and layout motion hooks.
  • Add domain action routing under controllerLibrary/actions/* (settings, media, all games, options) while preserving navigation and sound behavior.

Test plan

  • npm run typecheck in opennow-stable
  • Manual smoke: controller library navigation, settings submenus, media hub, games hub open/close and snapshot restore

Jayian1890 added 4 commits May 3, 2026 10:50
- Introduced a new function to compute clamped shelf translations, improving the responsiveness of shelf navigation.
- Updated the ControllerLibraryPage to utilize the new clamped translation function for better centering of active items.
- Enhanced CSS styles for PS5 settings, including new background gradients and transitions for menu tiles and overlays.
- Improved class management for settings-related tiles to ensure proper styling based on active states.

These changes enhance the user experience by providing smoother navigation and a more visually appealing interface in the controller library.
- Introduced new media hub slots with placeholders for video and screenshot captures, improving user interaction and visual feedback.
- Updated CSS styles for media tiles, including transitions and overlays, to align with the PS5 aesthetic.
- Enhanced the ControllerLibraryPage to dynamically manage media slots, displaying available and reserved slots for a clearer user experience.

These changes enrich the media browsing experience, providing a more engaging and visually appealing interface for users.
…zation

- Reorganized imports in App.tsx to reflect new directory structure for controller components, enhancing clarity and maintainability.
- Removed unused components: ControllerButtons, ControllerGameHub, ControllerLibraryPage, ControllerStreamLoading, and ControllerInStreamShell, streamlining the codebase and reducing complexity.

These changes contribute to a cleaner architecture and improved component management within the application.
…igation and asset management

- Updated ControllerLibraryPage to include additional logic for handling media and settings categories, enhancing user experience.
- Adjusted dependencies in useMemo hooks to ensure proper state management for new subcategories.
- Corrected asset import paths in ControllerLibraryLayout for better resource organization.
- Refined TopLevelShelfSection to streamline category label rendering and improve visual clarity.

These changes contribute to a more intuitive navigation experience and better asset management within the controller library.
@Jayian1890
Jayian1890 merged commit 229430c into dev May 3, 2026
9 checks passed
@Jayian1890
Jayian1890 deleted the controller-mode-improvements-20260503-1032 branch May 3, 2026 17:45
Jayian1890 added a commit that referenced this pull request May 16, 2026
…modules (#386)

* Enhance ControllerLibraryPage and styles for PS5 settings integration

- Introduced a new function to compute clamped shelf translations, improving the responsiveness of shelf navigation.
- Updated the ControllerLibraryPage to utilize the new clamped translation function for better centering of active items.
- Enhanced CSS styles for PS5 settings, including new background gradients and transitions for menu tiles and overlays.
- Improved class management for settings-related tiles to ensure proper styling based on active states.

These changes enhance the user experience by providing smoother navigation and a more visually appealing interface in the controller library.

* Enhance media hub functionality and styles in ControllerLibraryPage

- Introduced new media hub slots with placeholders for video and screenshot captures, improving user interaction and visual feedback.
- Updated CSS styles for media tiles, including transitions and overlays, to align with the PS5 aesthetic.
- Enhanced the ControllerLibraryPage to dynamically manage media slots, displaying available and reserved slots for a clearer user experience.

These changes enrich the media browsing experience, providing a more engaging and visually appealing interface for users.

* Refactor controller components and update imports for improved organization

- Reorganized imports in App.tsx to reflect new directory structure for controller components, enhancing clarity and maintainability.
- Removed unused components: ControllerButtons, ControllerGameHub, ControllerLibraryPage, ControllerStreamLoading, and ControllerInStreamShell, streamlining the codebase and reducing complexity.

These changes contribute to a cleaner architecture and improved component management within the application.

* Enhance ControllerLibraryPage and related components for improved navigation and asset management

- Updated ControllerLibraryPage to include additional logic for handling media and settings categories, enhancing user experience.
- Adjusted dependencies in useMemo hooks to ensure proper state management for new subcategories.
- Corrected asset import paths in ControllerLibraryLayout for better resource organization.
- Refined TopLevelShelfSection to streamline category label rendering and improve visual clarity.

These changes contribute to a more intuitive navigation experience and better asset management within the controller library.
Chizuui pushed a commit to Chizuui/OpenNOW-Modified that referenced this pull request Aug 11, 2026
…modules (OpenCloudGaming#386)

* Enhance ControllerLibraryPage and styles for PS5 settings integration

- Introduced a new function to compute clamped shelf translations, improving the responsiveness of shelf navigation.
- Updated the ControllerLibraryPage to utilize the new clamped translation function for better centering of active items.
- Enhanced CSS styles for PS5 settings, including new background gradients and transitions for menu tiles and overlays.
- Improved class management for settings-related tiles to ensure proper styling based on active states.

These changes enhance the user experience by providing smoother navigation and a more visually appealing interface in the controller library.

* Enhance media hub functionality and styles in ControllerLibraryPage

- Introduced new media hub slots with placeholders for video and screenshot captures, improving user interaction and visual feedback.
- Updated CSS styles for media tiles, including transitions and overlays, to align with the PS5 aesthetic.
- Enhanced the ControllerLibraryPage to dynamically manage media slots, displaying available and reserved slots for a clearer user experience.

These changes enrich the media browsing experience, providing a more engaging and visually appealing interface for users.

* Refactor controller components and update imports for improved organization

- Reorganized imports in App.tsx to reflect new directory structure for controller components, enhancing clarity and maintainability.
- Removed unused components: ControllerButtons, ControllerGameHub, ControllerLibraryPage, ControllerStreamLoading, and ControllerInStreamShell, streamlining the codebase and reducing complexity.

These changes contribute to a cleaner architecture and improved component management within the application.

* Enhance ControllerLibraryPage and related components for improved navigation and asset management

- Updated ControllerLibraryPage to include additional logic for handling media and settings categories, enhancing user experience.
- Adjusted dependencies in useMemo hooks to ensure proper state management for new subcategories.
- Corrected asset import paths in ControllerLibraryLayout for better resource organization.
- Refined TopLevelShelfSection to streamline category label rendering and improve visual clarity.

These changes contribute to a more intuitive navigation experience and better asset management within the controller library.
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.

1 participant