Skip to content

fix(ui): unify dropdowns, fix settings scroll, About/Thanks enhancements, external link guards - #616

Merged
zortos293 merged 1 commit into
devfrom
capy/ui-dropdowns-scroll-fixes
Jul 6, 2026
Merged

fix(ui): unify dropdowns, fix settings scroll, About/Thanks enhancements, external link guards#616
zortos293 merged 1 commit into
devfrom
capy/ui-dropdowns-scroll-fixes

Conversation

@zortos293

@zortos293 zortos293 commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

This PR addresses 6 UI issues: replaces native selects with a custom dark dropdown, prevents settings scroll persisting across tabs, makes poster scale steps visible, moves What's New to top of About, centers Thanks hero heart, and blocks in-app navigation for external links.

UI Components

  • Introduce SelectDropdown component matching dark design with keyboard navigation, ARIA roles, and controller support
  • Replace native selects in HomePage/LibraryPage sort controls with SelectDropdown (Settings storage select remains native as-disabled/read-only)
  • Add localized aria labels home.sortAriaLabel/library.sortAriaLabel to locales/en.json
  • Hide sort dropdown entirely when no options are available

Settings Page

  • Reset .settings-content scrollTop to 0 on activeSection change via ref + effect
  • Move "What's New" row above Application Updates in About tab

Grid Scaling

  • Update game grid CSS to use both min and max track size scaling based on --game-poster-scale, ensuring every 5% step produces visible width change without overflow

Visual Polish

  • Fix Thanks hero heart optical centering by adjusting flex alignment

Main Process

  • Add setWindowOpenHandler and will-navigate guard in src/main/index.ts to prevent navigating app window away and open external http(s) URLs in default browser via shell.openExternal
  • Extract shared URL validation to reuse existing OPEN_EXTERNAL_URL logic

File changes preserve CRLF line endings; typecheck and locales:check pass.

Open OPE-258 OPE-258


Note

Low Risk
Changes are mostly renderer UI/CSS; main-process navigation guards are a small, positive hardening of external link handling with limited blast radius.

Overview
Adds a shared SelectDropdown (dark theme, keyboard/ARIA, controller-friendly) and swaps native sort controls on Home and Library for it, with new home.sortAriaLabel / library.sortAriaLabel strings and hiding sort when there are no options. Settings uses the same component for the read-only storage location row, scrolls .settings-content back to the top when the active section or search-all mode changes, and moves What's New above Application Updates in About.

CSS introduces dropdown styling, tightens game grid poster sizing with a clamped --game-poster-width so poster scale steps read clearly, and nudges Thanks hero icon alignment.

Electron main centralizes HTTP(S) external opens, blocks in-window navigation away from the app (and denies window.open), routing allowed external links through shell.openExternal—reused by OPEN_EXTERNAL_URL.

Reviewed by Cursor Bugbot for commit 7a5ea1c. Configure here.

…ut, and enforce external URLs

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
@zortos293 zortos293 added the capy Generated by capy.ai label Jul 6, 2026 — with Image Capy AI
@coderabbitai

coderabbitai Bot commented Jul 6, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: ee7057db-f33f-442f-95bb-86ef4b355eb0

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch capy/ui-dropdowns-scroll-fixes

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@zortos293
zortos293 merged commit 78efcd1 into dev Jul 6, 2026
17 checks passed
Chizuui pushed a commit to Chizuui/OpenNOW-Modified that referenced this pull request Aug 11, 2026
…ut, and enforce external URLs (OpenCloudGaming#616)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

capy Generated by capy.ai

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant