fabro/apps/fabro-web
Bryan Helmkamp f8fdb5c2f4
feat(web): redesign environment form UI
Reshape the server-managed environment create/edit form:

- Resources: replace CPU/memory/disk inputs with range sliders
  (CPU 1-8, memory 1-16 GB, disk 1-20 GB). Each always writes a
  concrete value; existing values are parsed and clamped onto range.
- Image: add an Image-source selector (Image reference vs Dockerfile)
  that shows, requires, and sends only the selected, mutually
  exclusive source.
- Network: replace the mode dropdown + CIDR list with a single
  "Block all network access" toggle (block vs allow-all).
- Labels: remove from the UI entirely; they remain API-managed and
  are round-tripped untouched so edits never clear API-set labels.
- Provider: drop the in-form provider control. "New environment" is
  now a dropdown of enabled sandbox providers; the chosen provider is
  passed via query param and fixed for the environment's lifetime.
  Editing can no longer switch providers.
- Layout: merge Identity + Image into one "General" panel, move
  Environment variables up, and tuck Network + Lifecycle behind an
  "Advanced" progressive-disclosure section (open by default when any
  advanced value is non-default).

Add environment-form unit tests for image-source validation and
request construction.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 21:24:59 -04:00
..
app feat(web): redesign environment form UI 2026-05-31 21:24:59 -04:00
public/images Add sandbox providers settings page 2026-05-24 17:47:15 -04:00
scripts fix(web): raise timeout for build tests that run a real vite build (#310) 2026-05-18 12:52:18 -04:00
.dockerignore Rename Arc to Fabro in TypeScript/JavaScript 2026-03-12 11:13:18 -04:00
.gitignore Rename Arc to Fabro in TypeScript/JavaScript 2026-03-12 11:13:18 -04:00
index.template.html chore(web): namespace static images under /images and skip in HTTP logs 2026-04-30 08:57:14 -04:00
package.json Replace DIY overlay primitives with Radix UI + Sonner (#424) 2026-05-26 23:03:06 -04:00
react-doctor.config.json refactor(web): improve React Doctor score (#405) 2026-05-25 22:41:37 -04:00
tsconfig.json Fix login route collision after SPA cutover 2026-04-01 21:55:30 -07:00