Skip to content

Add sticky position on footer buttons#788

Merged
sven-n merged 5 commits into
MUnique:masterfrom
eduardosmaniotto:feature/admin-layout-fixes
May 31, 2026
Merged

Add sticky position on footer buttons#788
sven-n merged 5 commits into
MUnique:masterfrom
eduardosmaniotto:feature/admin-layout-fixes

Conversation

@eduardosmaniotto
Copy link
Copy Markdown
Contributor

@eduardosmaniotto eduardosmaniotto commented May 29, 2026

Summary

Layout changes for the admin panel: makes CreationPanel and "Add New" buttons sticky at the bottom, and cleans up styling for form action buttons.

test.webm

@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces significant layout and UI improvements to the admin panel. The primary goal is to enhance user experience by constraining the main content area for better readability and ensuring that critical action buttons, such as those in the CreationPanel and various forms, remain visible and accessible via sticky positioning.

Highlights

  • Layout Constraints: Constrained the main content area to 50% width and improved responsiveness in the admin panel.
  • Sticky UI Elements: Implemented sticky positioning for the CreationPanel and form action buttons to ensure they remain accessible at the bottom of the viewport.
  • Styling Refactor: Standardized form action button styling across multiple components and cleaned up unnecessary z-index properties.
New Features

🧠 You can now enable Memory (public preview) to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request restructures the main layout and form actions to support a side-by-side layout with a creation panel, including styling updates for sticky action bars and forms. Feedback highlights several improvements: dynamically adjusting the main content width when the creation panel is collapsed using the :has() selector, localizing hardcoded button labels in SkillEntryCreationForm.razor for internationalization, and adding z-index properties to the sticky .add-new-bar and .form-actions containers to prevent overlapping issues during scrolling.

Comment thread src/Web/AdminPanel/Components/Layout/MainLayout.razor.css Outdated
Comment thread src/Web/Shared/Components/Form/SkillEntryCreationForm.razor
Comment thread src/Web/AdminPanel/Pages/EditConfigGrid.razor.css
Comment thread src/Web/AdminPanel/Components/Layout/CreationPanel.razor.css
@eduardosmaniotto eduardosmaniotto marked this pull request as draft May 29, 2026 22:32
@eduardosmaniotto eduardosmaniotto changed the title fix layout issues after new CreationPanel and add sticky position on footer buttons Add sticky position on footer buttons May 29, 2026
@eduardosmaniotto eduardosmaniotto marked this pull request as ready for review May 30, 2026 00:55
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request refactors layout and styling across several Blazor components, including updates to the creation panel, main layout, configuration grids, and form actions. Key feedback highlights several layout and CSS issues: an overly broad ::deep selector in the creation panel that applies width: 100% to all descendants, a min-width: 50vw on the main layout that could cause horizontal overflow on small screens, a non-standard global width: 10% on checkboxes, a regression where the sidebar navigation loses its sticky positioning, and a missing z-index on the sticky 'Add New' bar.

Comment thread src/Web/AdminPanel/Components/Layout/CreationPanel.razor.css
Comment thread src/Web/AdminPanel/Components/Layout/MainLayout.razor.css Outdated
Comment thread src/Web/Shared/Styles/Forms.scss
Comment thread src/Web/Shared/Styles/Navigation.scss
Comment thread src/Web/AdminPanel/Pages/EditConfigGrid.razor.css
@sven-n sven-n merged commit 0a776e2 into MUnique:master May 31, 2026
2 checks passed
@sven-n
Copy link
Copy Markdown
Member

sven-n commented May 31, 2026

Great, thank you

@eduardosmaniotto eduardosmaniotto deleted the feature/admin-layout-fixes branch May 31, 2026 13:53
nolt added a commit to nolt/OpenMU that referenced this pull request May 31, 2026
drop the "Pre-existing regression" section (Eduardo's MUnique#788 now owns that fix)
Review feedback (3 items):

- ThemeSelector: drop the constructor, inject NavigationManager as a
  property to match the [Inject] pattern used by the rest of the
  project (MapEditor, ConfigurationSearch, NavMenu, ...).
- ThemeSelector: prepend a leading slash to the redirect target
  ("/Theme/Set?...") so it always resolves against the application
  root, independently of the current route depth.
- ThemeController: accept a nullable redirectUri and fall back to
  LocalRedirect("/") when it is missing or not a local URL, so a
  malformed request can no longer crash LocalRedirect into a 500.

Dark-mode coverage gaps:

- theme.css: set `color-scheme: dark` under [data-theme="dark"] so
  native form controls (unchecked checkboxes/radios, scrollbars,
  date pickers) render in their dark variant instead of bright white.
- Typeahead.razor.css: replace hardcoded #fff/#ced4da/#6c757d/...
  with the --omu-* variables. Covers every LookupField /
  MultiLookupField / Typeahead in the panel (auto-form lookups on
  ItemDefinition, Skill, MonsterDefinition, ..., plus the Connect
  Server config, item-slot pickers, modal selectors).
- theme.css: shift --omu-sidebar-gradient stops from % to vh and add
  an override for `.sidebar > nav` in dark mode (Navigation.scss
  hardcodes the light gradient there, would otherwise leak into dark
  mode).

- theme.css: add an override for `.sidebar > nav` in dark mode
  (Navigation.scss hardcodes the light gradient there, would
  otherwise leak into dark mode); add an override for
  `.creation-panel-body .form-actions` introduced by MUnique#788 so the
  new sticky footer doesn't stay bright white in dark mode.
@nolt nolt mentioned this pull request May 31, 2026
12 tasks
nolt added a commit to nolt/OpenMU that referenced this pull request May 31, 2026
QuickGrid header/sort/paginator, alert variants, sticky bars

QuickGrid:

- button.col-title + .col-title-text: shared.css globally sets
  `button { color: #212529 }` which leaks to the bare <button> used by
  the QuickGrid sort header. Narrow override so `.btn-*` variants
  (which have their own explicit color) are not affected.
- .sort-indicator and .go-first/previous/next/last: QuickGrid renders
  these arrows as SVG data-URIs in `background-image` with no `fill`
  attribute, defaulting to black. Can't override SVG fill from outside;
  use `filter: invert(1)` so black -> white in dark mode.

Sticky bars added by MUnique#788:

- .add-new-bar (EditConfigGrid.razor.css) hardcodes background-color
  #fff and a #dee2e6 top border — same pattern we already overrode for
  `.creation-panel-body .form-actions`. Added the analogous override.

Modals:

- .blazored-modal (Blazored.Modal NuGet package, `_content/Blazored.Modal/
  blazored.modal.bundle.scp.css`) hardcodes `background-color: #fff` and
  white border. Override the panel surface; backdrop is already
  `rgba(0, 0, 0, 0.5)` so it works on both themes.
- .multi-lookup-field__* (OpenMU's own multi-select) had hardcoded
  Bootstrap defaults across container, tag, dropdown, hover and selected
  states. Mapped to --omu-* tokens — fixes the Plugins config modal
  (gear icon on a plugin) and the Excellent / Wing options pickers in
  ItemEdit.

Bootstrap alert variants (used on Updates.razor and Install.razor):

- .alert-primary, .alert-success, .alert-info, .alert-warning,
  .alert-danger, .alert-light: light backgrounds + dark text are
  illegible on dark mode. Subtle tinted backgrounds (15% accent over
  the dark surface) with bright accent text and 40% accent border,
  per Bootstrap dark-mode conventions. .alert-secondary stays as it
  was overridden in the earlier commit.
- `.alert hr`: Bootstrap sets per-variant `<hr>` border colors as bright
  tints of the alert hue (e.g. .alert-primary hr -> rgb(158, 204, 255));
  too loud over our dark alert backgrounds. One neutral 15%-white line
  for all variants.
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