Custom UI for the /admin command panel (replace the alpha placeholder) #118

Open
opened 2026-07-20 22:27:03 +02:00 by panda · 0 comments
Collaborator

Context

The /admin command panel shipped in #117 is a deliberate alpha placeholder. It is drawn with flat LineRenderer.FillRect rectangles + text (client/IsoMmo.Client/UI/AdminPanel.cs), harmonized to the game palette (navy panel, gold accent, slate-blue hover). It is fully functional — admin-only (gated on the server AdminCommandCatalog), auto-populated from the command catalogue, click-to-prefill into the chat, hover + description wrapping — but visually basic. Replace it with a proper custom UI.

Keep the working contract intact; this is a visual/UX upgrade, not a behaviour change.

Scope (what to do)

  • Give the panel a custom look — either a framed/gump-style panel (a dedicated panel texture with a leather/parchment border, consistent with the backpack gump) or a deliberate polished system-UI theme with real borders/rounded corners (needs a texture, since FillRect can't round corners).
  • Preserve all current behaviour: /admin toggles it; shown only to admins (catalogue-gated); lists every catalogued command (name / usage / description); clicking a command prefills /<name> into the chat; hover state; descriptions wrap within the panel; the list stays auto-sourced from the server catalogue (no hand-maintained command list).
  • Nice-to-haves to consider (decide during design): group commands by category, a search/filter box, keyboard navigation, a close button.

Definition of Done

  • The panel renders with the new custom art/theme (not the placeholder flat rectangles) — demonstrable by opening /admin in the client.
  • Every command from the server catalogue still appears with its usage + description; adding a new GM command still makes it appear with no change to the panel code.
  • Clicking a command still prefills /<name> into the (focused) chat input.
  • A non-admin still gets no panel (no catalogue → nothing to show).
  • Any new panel texture follows the asset pipeline (RGBA in assets.isoa, placeholder fallback if absent) so the client stays shippable without it.

Follow-up to #117.

## Context The `/admin` command panel shipped in #117 is a deliberate **alpha placeholder**. It is drawn with flat `LineRenderer.FillRect` rectangles + text (`client/IsoMmo.Client/UI/AdminPanel.cs`), harmonized to the game palette (navy panel, gold accent, slate-blue hover). It is fully functional — admin-only (gated on the server `AdminCommandCatalog`), auto-populated from the command catalogue, click-to-prefill into the chat, hover + description wrapping — but visually basic. Replace it with a proper **custom UI**. Keep the working contract intact; this is a visual/UX upgrade, not a behaviour change. ## Scope (what to do) - Give the panel a custom look — either a framed/gump-style panel (a dedicated panel texture with a leather/parchment border, consistent with the backpack gump) or a deliberate polished system-UI theme with real borders/rounded corners (needs a texture, since `FillRect` can't round corners). - Preserve all current behaviour: `/admin` toggles it; shown only to admins (catalogue-gated); lists every catalogued command (name / usage / description); clicking a command prefills `/<name> ` into the chat; hover state; descriptions wrap within the panel; the list stays auto-sourced from the server catalogue (no hand-maintained command list). - Nice-to-haves to consider (decide during design): group commands by category, a search/filter box, keyboard navigation, a close button. ## Definition of Done - The panel renders with the new custom art/theme (not the placeholder flat rectangles) — demonstrable by opening `/admin` in the client. - Every command from the server catalogue still appears with its usage + description; adding a new GM command still makes it appear with **no** change to the panel code. - Clicking a command still prefills `/<name> ` into the (focused) chat input. - A non-admin still gets no panel (no catalogue → nothing to show). - Any new panel texture follows the asset pipeline (RGBA in `assets.isoa`, placeholder fallback if absent) so the client stays shippable without it. Follow-up to #117.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
marco/IsoMmo#118
No description provided.