mirror of
https://github.com/0xWheatyz/handler.git
synced 2026-08-30 17:56:25 +00:00
7399315185
Rebuild the bundled web UI as a Next.js (React + TypeScript) static export implementing the Claude Activity Dashboard design: a left-nav "Control Center" hub over Runs, Repositories, Agents, Approvals, Git Servers, Activity, and Shared, styled with the Leeworks design-system tokens (flat, dark, border-led). The dashboard is a pure client of the existing API (same contract as curl): the browser prompts for the token once, stores it in localStorage, attaches it to every call, and renders all API values as React text so agent-authored strings stay inert. Control actions enqueue a command and poll it to a terminal state, matching the worker model. The build output is committed to src/handler/api/static/ so the wheel ships it and FastAPI serves it same-origin. app.py now mounts the export at "/" after the API routers (a non-shadowing fallback: unmatched paths 404, no SPA rewrite). UI-serving tests updated for the export; frontend source lives in frontend/. Claude-Session: https://claude.ai/code/session_01ATgVWRjFzG8nHEnwgZpJWD Co-authored-by: Claude <noreply@anthropic.com>
23 lines
516 B
JSON
23 lines
516 B
JSON
{
|
|
"name": "handler-frontend",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build",
|
|
"export": "next build && rm -rf ../src/handler/api/static && cp -r out ../src/handler/api/static",
|
|
"lint": "next lint"
|
|
},
|
|
"dependencies": {
|
|
"next": "14.2.15",
|
|
"react": "18.3.1",
|
|
"react-dom": "18.3.1"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "20.14.0",
|
|
"@types/react": "18.3.3",
|
|
"@types/react-dom": "18.3.0",
|
|
"typescript": "5.5.4"
|
|
}
|
|
}
|