Skip to content

Feat/hud overlay ux overhaul#450

Merged
siddharthvaddem merged 9 commits intosiddharthvaddem:mainfrom
michthemaker:feat/hud-overlay-ux-overhaul
Apr 18, 2026
Merged

Feat/hud overlay ux overhaul#450
siddharthvaddem merged 9 commits intosiddharthvaddem:mainfrom
michthemaker:feat/hud-overlay-ux-overhaul

Conversation

@michTheBrandofficial
Copy link
Copy Markdown
Contributor

@michTheBrandofficial michTheBrandofficial commented Apr 15, 2026

Description

Source selector User Interface Polish

Motivation

I personally believe the OpenScreen's functionality is great, the UI/UX, not so there.
So as part of fixing UI/UX related issues, I choose to polish the UI and fix User Experience issues.

Hence, the branch name hud overlay ux polish.

Type of Change

  • New Feature
  • Bug Fix
  • Refactor / Code Cleanup
  • Documentation Update
  • Other (User Interface polish)

Related Issue(s)

Most closely linked to #435 as that is the base for fixing hud overlay UX.

Screenshots / Video

Screenshot

Source Selector Scrollbar, border rounded corner polish

Before After
Before After

Video
None

Testing

You can test by running your dev server, clicking the source selector, a button that says screen and seeing the visual changes on the source selector.

Checklist

  • I have performed a self-review of my code.
  • I have added any necessary screenshots or videos.
  • I have linked related issue(s) and updated the changelog if applicable.

Summary by CodeRabbit

  • Style

    • Refined source selector visuals with larger rounded shapes and a new squircle corner style utility.
    • Polished scrollbar appearance and pointer interactions (grab/grabbing).
    • Updated loading spinner, thumbnails, selection badge placement, tab/grid rounding, and added subtle button press animations.
  • Chores

    • Updated repository ignore settings to exclude editor and root shell artifacts.

…ces spinner ui

Added corner-shape: squircle; to SourceSelector.module.css for more visually appealing rounded corners.

Customized windows source selector scrollbar to be more subtle but carry the product colour.

Removed box-shadow on SourceSelector because electron doesn't round corners of the shadow, thereby leaving a square border shadow conflicting with the rounded corners of the SourceSelector.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 15, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 0ffd6dbc-1a4c-473f-958e-07d40a04c766

📥 Commits

Reviewing files that changed from the base of the PR and between 9998b43 and 61b3182.

📒 Files selected for processing (1)
  • .gitignore
✅ Files skipped from review due to trivial changes (1)
  • .gitignore

📝 Walkthrough

Walkthrough

Refines SourceSelector styling (corner shape, radii, borders, scrollbar, spinner, button feedback), adds a .squircle utility, and updates .gitignore entries. No TypeScript API or exported symbols changed. (≈45 words)

Changes

Cohort / File(s) Summary
Project configuration
/.gitignore
Added .zed/ and /shell.sh to ignores; normalized newline for .direnv/ and replaced __screenshots__/ entry with a newline-aligned variant.
CSS utilities & module
src/index.css, src/components/launch/SourceSelector.module.css
Added .squircle utility; increased border-radius and border thickness, applied corner-shape: squircle, removed active box-shadow rules, tightened scrollbar (width 8px→3px), changed thumb color to green tint, added grab/grabbing cursors.
Component markup/styles
src/components/launch/SourceSelector.tsx
Updated Tailwind/class combos to use squircle/radii, adjusted spinner appearance and duration, tweaked badge positioning, modified tab/grid paddings, and added active:scale-95 + transition-transform duration-150 to footer buttons.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Suggested reviewers

  • siddharthvaddem

Poem

corners curl into a tiny squircle glow,
spinners spin slower, badges sit in tow,
scrollbars whisper green and feel a bit cursed,
buttons press down — lowkey bounce when coerced,
late-night tweaks, neat and kinda cursed.

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Title check ⚠️ Warning Title refers to HUD overlay UX improvements, but changes are narrowly scoped to Source Selector component polish—overly broad framing for the actual changeset. Consider a more specific title like 'Polish Source Selector UI with rounded corners and improved scrollbar styling' to accurately reflect the focused scope.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (1 passed)
Check name Status Explanation
Description check ✅ Passed Description covers all major template sections with clear motivation, type classification, related issue link, before/after screenshots, testing instructions, and completed checklist items.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


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 and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@src/components/launch/SourceSelector.module.css`:
- Around line 11-13: The commented multi-line box-shadow block in
SourceSelector.module.css is missing required whitespace around the comment
delimiters; update the comment that contains "box-shadow" so it uses
stylelint-safe formatting by adding a space after /* and before */, e.g. change
/*...*/ to /* ... */ for that commented block to satisfy Stylelint rules.

In `@src/components/launch/SourceSelector.tsx`:
- Line 68: The spinner uses Tailwind's duration-500 which only affects
transitions, not the animation speed; update the spinner in SourceSelector (the
div with className containing "animate-spin duration-500") to set the spin
animation duration directly—either replace duration-500 with a Tailwind
arbitrary animation class like animate-[spin_0.5s_linear_infinite] or add an
inline style setting animationDuration: '0.5s' so the spinner actually spins
faster.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: ceb8e191-ef22-4bf1-ba83-eacd0c28cb87

📥 Commits

Reviewing files that changed from the base of the PR and between a6ae0e6 and 1cdb8ed.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (4)
  • .gitignore
  • src/components/launch/SourceSelector.module.css
  • src/components/launch/SourceSelector.tsx
  • src/index.css

Comment thread src/components/launch/SourceSelector.module.css Outdated
Comment thread src/components/launch/SourceSelector.tsx
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

openscreen/package-lock.json

Lines 5010 to 5012 in 1cdb8ed

"msw": "^2.4.9",
"vite": "^6.0.0 || ^7.0.0-0"
},

P1 Badge Regenerate lockfile to include Vitest’s nested vite deps

This lockfile edit removed the node_modules/@vitest/browser*/node_modules/vite subtree while @vitest/mocker in that subtree still expects a vite peer, which leaves package-lock.json inconsistent for clean installs. On this commit, npm ci --dry-run --ignore-scripts fails with Missing: vite@ from lock file, so CI and fresh developer environments cannot install dependencies. Please regenerate and commit the lockfile with standard npm settings so npm ci succeeds reproducibly.

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@siddharthvaddem
Copy link
Copy Markdown
Owner

@michTheBrandofficial fix ci issues 🙏

@michTheBrandofficial
Copy link
Copy Markdown
Contributor Author

@siddharthvaddem I found the problem was I used node v25 to install deps.

All should be fine now.

@siddharthvaddem siddharthvaddem merged commit b0529c8 into siddharthvaddem:main Apr 18, 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