Skip to content

Server admin UI: Initial setup#99

Merged
GyulyVGC merged 1 commit into
NullNet-ai:mainfrom
antoncxx:feature/admin-ui
May 25, 2026
Merged

Server admin UI: Initial setup#99
GyulyVGC merged 1 commit into
NullNet-ai:mainfrom
antoncxx:feature/admin-ui

Conversation

@antoncxx
Copy link
Copy Markdown
Contributor

@antoncxx antoncxx commented May 20, 2026

Admin UI — Initial Scaffold

Summary

Replaces the Vite/React boilerplate with a working admin UI shell wired to the live nullnet API. This PR is purely foundational — it establishes routing, layout, data fetching, and page structure so future UI work has a consistent base to build on.

No new backend endpoints are introduced; the UI consumes existing API routes (/api/services, /api/nodes, /api/sessions, /api/pool).

What's included

  • Routingreact-router-dom with six routes: Dashboard, Services, Nodes, Sessions, Pool, Config
  • Layout — persistent sidebar with grouped navigation, stack selector (click-to-edit), and live session count badge
  • useApi hook — generic polling hook for JSON and text endpoints with configurable refresh interval
  • StackContext — shared React context for the active stack name, consumed across all pages
  • Page stubs — Dashboard, Services, Nodes, Sessions, Pool, Config pages all render live data from the API
  • Type definitionstypes.ts covering ServiceJson, NodeJson, SessionJson, PoolJson, ReplicaJson
  • Dashboard — stat cards (services online, active sessions, nodes, pool usage), topology SVG preview, recent sessions list, services table

What's not included (intentional)

  • Topology/graph rendering (live graph is a future page)
  • Events log page
  • Any mutations — all views are read-only for now

Implements 6 pages (Dashboard, Services, Nodes, Sessions, Pool, Config)
backed by the HTTP API from PRs 1–3. Shared Layout component eliminates
the copy-pasted sidebar from each draft HTML page. Stack name persists
in localStorage and is editable from the sidebar footer. Topology and
Events nav items are rendered as disabled stubs pending their backend PRs.
@antoncxx antoncxx marked this pull request as ready for review May 24, 2026 22:09
@GyulyVGC GyulyVGC assigned GyulyVGC and antoncxx and unassigned GyulyVGC May 25, 2026
@GyulyVGC GyulyVGC added the enhancement New feature or request label May 25, 2026
@GyulyVGC GyulyVGC merged commit 458ff4e into NullNet-ai:main May 25, 2026
4 checks passed
@antoncxx antoncxx deleted the feature/admin-ui branch May 25, 2026 15:18
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.

2 participants