Skip to content

feat(admin-groups): polish Groups list and edit chrome - #16

Merged
maxijabase merged 7 commits into
mainfrom
feat/groups-page-ux
Aug 31, 2026
Merged

maxijabase merged 7 commits into
mainfrom
feat/groups-page-ux

Conversation

@maxijabase

Copy link
Copy Markdown
Collaborator

Port of sbpp#1551

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

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.

@github-actions

Copy link
Copy Markdown

Thanks for the PR! This change touches web/** (the SourceBans++ web panel),
which is covered by the project's Contributor License Agreement.

To sign, comment exactly the following line on this PR:

I have read the CLA Document and I hereby sign the CLA

You only need to sign once — your signature applies to every future
web-panel PR you open against this repo. Plugin-only PRs
(game/addons/sourcemod/**) don't need a signature.

See CONTRIBUTING.md
for the rationale.


I have read the CLA Document and I hereby sign the CLA


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@maxijabase
maxijabase merged commit 6570da3 into main Aug 31, 2026
4 of 5 checks passed
@maxijabase
maxijabase deleted the feat/groups-page-ux branch August 31, 2026 16:00
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