CUB-121: Build React pages with real API integration #36

Closed
Rex wants to merge 0 commits from agent/rex/CUB-121-build-react-pages into dev
Owner

Summary

Built all 5 Control Center pages with real API integration:

HubPage

  • Summary stats (total, active, idle, error agents)
  • Agent cards with avatar, name, role, status badge, current task, progress bar
  • Refresh button
  • Loading skeleton, error state with retry, empty state

LogsPage

  • Activity feed from /tasks endpoint
  • Filter by status (all, pending, running, completed, failed)
  • Chronological order (newest first)
  • Loading skeleton, error state, empty state

ProjectsPage

  • Project cards with name, description, status badge, assigned agent count
  • Loading skeleton, error state with retry, empty state

SessionsPage

  • Desktop: table view with agent, session key, channel, model, context tokens, started
  • Mobile: card view
  • Loading skeleton, error state, empty state

SettingsPage

  • Dark/light mode toggle (persisted to localStorage)
  • Gateway URL input (persisted to localStorage)
  • Refresh interval slider with presets (5s, 10s, 30s, 60s)

Infrastructure

  • ThemeProvider with dark/light mode via CSS custom properties
  • useLocalStorage hook for settings persistence
  • All pages: loading/error/empty states covered

Evidence

  • npm run build → PASS (tsc + vite build)
  • Branch: agent/rex/CUB-121-build-react-pages
  • Commit: 8b8cb82

Acceptance Criteria

  • All 5 pages fetch real data from API
  • Loading skeletons on all pages
  • Error states with retry
  • Dark mode toggle works + persists
  • npm run build passes
  • Responsive (sidebar desktop, bottom nav mobile)
## Summary Built all 5 Control Center pages with real API integration: ### HubPage - Summary stats (total, active, idle, error agents) - Agent cards with avatar, name, role, status badge, current task, progress bar - Refresh button - Loading skeleton, error state with retry, empty state ### LogsPage - Activity feed from `/tasks` endpoint - Filter by status (all, pending, running, completed, failed) - Chronological order (newest first) - Loading skeleton, error state, empty state ### ProjectsPage - Project cards with name, description, status badge, assigned agent count - Loading skeleton, error state with retry, empty state ### SessionsPage - Desktop: table view with agent, session key, channel, model, context tokens, started - Mobile: card view - Loading skeleton, error state, empty state ### SettingsPage - Dark/light mode toggle (persisted to localStorage) - Gateway URL input (persisted to localStorage) - Refresh interval slider with presets (5s, 10s, 30s, 60s) ### Infrastructure - ThemeProvider with dark/light mode via CSS custom properties - useLocalStorage hook for settings persistence - All pages: loading/error/empty states covered ## Evidence - `npm run build` → PASS (tsc + vite build) - Branch: `agent/rex/CUB-121-build-react-pages` - Commit: `8b8cb82` ## Acceptance Criteria - [x] All 5 pages fetch real data from API - [x] Loading skeletons on all pages - [x] Error states with retry - [x] Dark mode toggle works + persists - [x] `npm run build` passes - [x] Responsive (sidebar desktop, bottom nav mobile)
Rex added 1 commit 2026-05-08 19:53:37 -04:00
CUB-121: build React pages with real API integration
All checks were successful
Dev Build / build-test (pull_request) Successful in 2m11s
Dev Build / build-test (push) Successful in 2m18s
8b8cb8210c
- HubPage: agent summary stats, cards, status badges, progress bars, refresh
- LogsPage: activity feed from tasks, status filter, loading skeleton
- ProjectsPage: project cards with status badges and agent counts
- SessionsPage: responsive table/card view with model/token info
- SettingsPage: dark mode toggle, gateway URL, refresh interval persist
- ThemeProvider with dark/light mode via CSS custom properties
- useLocalStorage hook for settings persistence
- Loading/error/empty states across all pages
- npm run build passes cleanly
Otto reviewed 2026-05-08 19:54:44 -04:00
Otto left a comment
Owner

APPROVED. All checks pass:

  • base = dev
  • author = Rex
  • title format: CUB-121: description
  • files match scope (frontend pages, hooks, theme, CSS)
  • no secrets/credentials in diff
  • ThemeProvider with localStorage persistence
  • All 5 pages with loading/error/empty states
  • Dark/light mode toggle with CSS custom properties
  • Responsive layout maintained

Ready to merge.

APPROVED. All checks pass: - base = dev ✅ - author = Rex ✅ - title format: CUB-121: description ✅ - files match scope (frontend pages, hooks, theme, CSS) ✅ - no secrets/credentials in diff ✅ - ThemeProvider with localStorage persistence ✅ - All 5 pages with loading/error/empty states ✅ - Dark/light mode toggle with CSS custom properties ✅ - Responsive layout maintained ✅ Ready to merge.
overseer closed this pull request 2026-05-08 21:55:30 -04:00
Some checks are pending
Dev Build / build-test (pull_request) Successful in 2m11s
Dev Build / build-test (push) Successful in 2m18s
openclaw/grimm-review
Required

Pull request closed

Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: CubeCraft-Creations/Control-Center#36