Skip to content

Improve admin Groups page UX (row actions, cards, client select, edit chrome) - #1551

Open
maxijabase wants to merge 7 commits into
sbpp:mainfrom
maxijabase:feat/groups-page-ux
Open

Improve admin Groups page UX (row actions, cards, client select, edit chrome)#1551
maxijabase wants to merge 7 commits into
sbpp:mainfrom
maxijabase:feat/groups-page-ux

Conversation

@maxijabase

@maxijabase maxijabase commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Description

Polishes the admin Groups management surfaces so they match the rest of the v2 panel chrome and feel faster to operate day to day.

List page (?p=admin&c=groups&section=list)

  • Row actions: Delete / Edit buttons use the shared panel pattern (btn + Lucide trash-2 / pencil, danger styling on Delete) across Web Admin, Server Admin, and Server Groups.
  • Server Admin Group cards: Clearer section titles, bordered Members / Overrides blocks, and compact tables so membership and override rows are scannable.
  • Server Group tiles: Adds the missing .space-y-2 utility so stacked server tiles are no longer stuck together with no gap.
  • Web Admin Groups master-detail: Selecting a group in the left rail updates the detail pane client-side (catalog JSON + history.pushState) without a full page reload. Dirty-form confirmation still guards unsaved flag edits. No-JS keeps the existing ?gid= links.

Edit Group (o=edit)

Tests

  • Integration: EditGroupChromeTest, WebGroupsCatalogTest
  • E2E: admin-groups-client-select.spec.ts, trash-icon assertion on the existing delete flow

Motivation and Context

The Groups list lagged behind bans / admins / mods after the v2 rewrite: weak action affordances, cramped Server Admin cards, zero spacing between Server Group tiles, full reloads for every Web Admin Group click, and an Edit Group page that did not match the newer permissions UI. This PR closes that gap without changing group semantics or adding new APIs.

How Has This Been Tested?

  • Local Docker stack (sbpp-web on :8080) against seeded sourcebans data
  • PHPUnit: EditGroupChromeTest + WebGroupsCatalogTest
  • Playwright (workers=1): admin-groups-client-select and admin-groups-delete

Screenshots (if appropriate):

Before

chrome_wczVx4enRE.mp4

After

chrome_F4uTeeG68h.mp4

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.

@maxijabase
maxijabase requested a review from a team August 5, 2026 23:17
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