Scaffold React/Vite SPA + port 80s aesthetic #33
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
question
research
wontfix
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Reference: lvl0/buckets#33
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Stand up the standalone React frontend in
frontend/..glow-red), digital progress-bar color zones./api).Exit: SPA builds, is styled in the terminal aesthetic, and talks to
/api.Scope addition (moved from #28): also add the dev Vite
webservice tocompose.override.yaml(Node 22, HMR) oncefrontend/is scaffolded, and wire the Vite dev-server/apiproxy → thephpcontainer. The backend container stack (#28) is already running; this ticket adds the frontend container alongside it.Resolved on
release/v0.3.0(6 commits: scaffold+compose service → Prettier → Tailwind 4 + theme → primitives + layout → API client → finish-phase token/hygiene cleanup).Stood up the standalone React SPA in
frontend/(Vite + React 19 + TS 6, Tailwind 4 via@tailwindcss/vite, oxlint + Prettier). Runs as a dev-onlyfrontendnode service incompose.override.yaml(podman-compose);compose.prod.yamluntouched (prod build is #35).Exit criteria met:
npm run build(tsc -b && vite build) green in-container..glow-red, DigitalProgressBar with chart-token color zones. Primitives (Button/Panel/DigitalProgressBar) + AppLayout shell, all using semantic theme tokens./api→http://php:80(container-to-container, same-origin so the session cookie flows); verified/api/scenarios→ 401 through both the container network and the proxy.Also added a cookie-session API client (
lib/api.ts: get/post/patch/delete, ApiError, ld+json / merge-patch+json, 204 handling) + Hydra envelope types — the foundation #52/#53-56 build on. Intentionally not wired to UI yet.Deferred (deliberate): frontend test harness (vitest/msw) → #52 (first consumer). Prod build + CI → #35.
Notable gotchas captured in PLATFORM.md: named-volume node_modules (arch guard), proxy target
php:80notlocalhost:8100,erasableSyntaxOnlybans TS parameter properties.pr-reviewer (full-ticket, all 5 commits rebuilt in isolated worktrees for bisect-safety): Approve, 0 must-fix.