Skip to content

web: Modernize player UI (context menu, modals, panic screen, save manager)#23500

Closed
robinmiau wants to merge 5 commits intoruffle-rs:masterfrom
robinmiau:robinmiau-patch-6
Closed

web: Modernize player UI (context menu, modals, panic screen, save manager)#23500
robinmiau wants to merge 5 commits intoruffle-rs:masterfrom
robinmiau:robinmiau-patch-6

Conversation

@robinmiau
Copy link
Copy Markdown
Contributor

Modernized the web player's built-in UI with several polish improvements across the context menu, modals, panic screen, and save manager.

  • Context menu now has rounded corners and flips above/left of the cursor when it would overflow the viewport, matching browser behavior
  • Context menu closes on scroll wheel when the cursor is outside the menu bounds
  • Context menu items with checkboxes now render a proper SVG checkmark with a consistent left gutter
  • When the Ruffle context menu is open, a second right-click (within an 8px movement threshold) now opens the native browser context menu
  • Panic screen now matches the extension error screen, with details presented in a centered modal overlay instead of inline
  • Software renderer detection improved to cover additional device types (Cpu, VirtualGpu), ensuring the UI warning modal triggers more reliably
  • Save manager table now has a styled scrollbar and hover effects for rows and icons

Screenshots

Context menu

Old:
image

New:
Screenshot

Panic screen

Old:
Screenshot

New:
Screenshot

File manager modal

Old:
Screenshot

New:
Screenshot

Refactor panic component to improve error detail handling.
Added new CSS variables for dark mode and modal styles. Updated styles for panic overlay and modal components.
@n0samu n0samu added A-web Area: Web & Extensions newsworthy labels Apr 21, 2026
@n0samu
Copy link
Copy Markdown
Member

n0samu commented Apr 21, 2026

Looks great, thank you! I do want to preserve the attention-grabbing nature of the panic screen though - that's why we have the orange gradient background. Maybe adding an error icon to the initial panic screen would help with that?

@kjarosh
Copy link
Copy Markdown
Member

kjarosh commented Apr 21, 2026

I like the new design! Although I'd prefer to keep how the panic screen looks. We don't expect panicking often, so an attention grabbing gradient seems perfect and easily differentiates from the content erroing out.

@kjarosh kjarosh added the T-feature Type: New Feature (that Flash doesn't have) label Apr 21, 2026
@robinmiau
Copy link
Copy Markdown
Contributor Author

@n0samu @kjarosh Would this be acceptable? I think it would still be an improvement over the current panic screen.

image

@kjarosh
Copy link
Copy Markdown
Member

kjarosh commented Apr 21, 2026

I think that looks better.

Can we split this PR into multiple ones? It's very difficult to review large changes. It would be nice to have a separate PR for each component, or if changes touch multiple components, they should be limited in scope.

@robinmiau
Copy link
Copy Markdown
Contributor Author

@kjarosh This might be tricky, as all these changes involve the same files. Wouldn't there be merge conflicts if we split them into multiple PRs?

@kjarosh
Copy link
Copy Markdown
Member

kjarosh commented Apr 21, 2026

For instance: semantically, there's no reason for the behavioral changes of the context menu to be in the same PR as the UI redesign, is there?

It will be difficult to do a review, because we'll have to review everything at one go, and it will take considerably longer than in separate PRs.

Usually you'd do incremental changes, PRs can depend on each other and we can merge them sequentially too.

@robinmiau
Copy link
Copy Markdown
Contributor Author

So should I start with a smaller PR and base the subsequent ones on that?

@kjarosh
Copy link
Copy Markdown
Member

kjarosh commented Apr 22, 2026

At the end of the day it's your call, I think this PR is splittable and we should do it because the review process will be easier.

@robinmiau
Copy link
Copy Markdown
Contributor Author

Superseded by #23534, #23535, #23537, and #23538

@robinmiau robinmiau closed this Apr 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-web Area: Web & Extensions newsworthy T-feature Type: New Feature (that Flash doesn't have)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants