Skip to content

feat: Admin GUI — Config Editor, Backups, and Updates pages - #101

Merged
derrickmehaffy merged 4 commits into
releases/0.12.0from
feat/admin-gui-features
Mar 14, 2026
Merged

feat: Admin GUI — Config Editor, Backups, and Updates pages#101
derrickmehaffy merged 4 commits into
releases/0.12.0from
feat/admin-gui-features

Conversation

@derrickmehaffy

Copy link
Copy Markdown
Contributor

Description

Implements three complete admin GUI pages accessible from the admin navigation bar, providing in-game management of configuration, backups, and updates.

Config Editor (#40)

  • 11-tab editor covering all HyperFactions settings with size-adaptive layouts (narrow/standard/wide)
  • Inline editing: boolean toggles, integer/double steppers, text fields, color pickers, enum dropdowns, locale selectors
  • Faction permissions editor with parent/child toggling and Default/Lock checkboxes
  • World overrides editor with tri-state per-world settings
  • Upkeep scaling tiers modal with live cost preview
  • Edit session caching — pending changes survive page close/reopen and modal round-trips
  • Input validation with debounced updates and save-blocked-on-invalid

Backup Manager (#41)

  • Paginated backup list with expand/collapse detail view
  • Create, restore (with safety backup), and delete with two-click confirmation
  • Backup type filter dropdown (All/Hourly/Daily/Weekly/Manual/Migration)

Updates Page (#42)

  • Two-column layout: HyperFactions and HyperProtect Mixin with mirrored version info
  • Single "Check for Updates" button checks both simultaneously
  • Download buttons, changelog display, and rollback support
  • HyperProtect detection via ProtectionMixinBridge

UI Polish

  • All buttons use shared $S.@ButtonStyle/$S.@CyanButtonStyle/$S.@RedButtonStyle (no more uppercase Common.ui styles)
  • Action bars standardized to zone settings pattern (40px height, 32px buttons, Label spacers)
  • Row spacing increased across all config row templates

Type of Change

  • New feature (non-breaking change which adds functionality)

Related Issues

Fixes #40
Fixes #41
Fixes #42

Testing

  • Tested on local development server
  • Added/updated unit tests
  • Verified no regressions in existing functionality

Checklist

  • My code follows the project's coding style
  • I have performed a self-review of my own code
  • I have commented my code where necessary
  • I have updated the documentation (if applicable)
  • My changes generate no new warnings or errors
  • I have added tests that prove my fix/feature works
  • New and existing tests pass locally with my changes

Add three complete admin GUI pages accessible from the admin navigation bar:

- Updates page: version info display, update checking, rollback support
- Backups page: create, restore, delete backups with paginated list
- Config Editor: 11-tab editor covering all HyperFactions settings
  with size-adaptive layouts (narrow/standard/wide), inline editing,
  color pickers, enum dropdowns, faction permissions with parent/child
  toggling, world overrides, upkeep scaling tiers modal, edit session
  caching, input validation, and debounced text updates

Includes config module getters/setters, ConfigSnapshot for applying
changes, ConfigValidator for input bounds, localization keys for all
10 languages, and ConfigV7→V8 migration for new settings.
… filter

- Replace all $C.@DefaultTextButtonStyle/$C.@SecondaryTextButtonStyle
  with $S.@ButtonStyle/$S.@CyanButtonStyle/$S.@RedButtonStyle to match
  codebase styling (no more uppercase/wrong-looking buttons)
- Remove double-background wrapper on backup name text field
- Redesign Updates page as two-column layout: HyperFactions (left) and
  HyperProtect Mixin (right) with mirrored version info, shared
  "Check for Updates" button that checks both simultaneously
- Fix HPM detection using ProtectionMixinBridge instead of update checker
- Fix "Latest" showing "-" when up-to-date (now shows current version)
- Add backup type filter dropdown (All/Hourly/Daily/Weekly/Manual/Migration)
- Move Updates and Mixin config sections adjacent in server tab
Match button height (32px), bar height (40px), and Label spacers
from admin_zone_settings.ui across all admin GUI action bars:
config editor (narrow/standard/wide), backups pagination, and
updates action bar.
@derrickmehaffy derrickmehaffy added enhancement New feature or request labels Mar 14, 2026
@derrickmehaffy
derrickmehaffy merged commit 88d8191 into releases/0.12.0 Mar 14, 2026
2 checks passed
@derrickmehaffy
derrickmehaffy deleted the feat/admin-gui-features branch March 14, 2026 07:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant