left4me/l4d2web/routes
mwiegand d14ed9c117
feat(web): blueprint-prefilled create-server flow + empty-state CTA
- Per-row "Create server" link on /blueprints navigates to
  /servers?blueprint_id=<id>; that page validates the param against
  the user's owned blueprints, pre-selects the option, and auto-opens
  the create modal.
- /servers empty-blueprint state now shows an actionable
  "Create a blueprint first ->" link (styled like the primary button)
  pointing at /blueprints, replacing the silent disabled "+ Create"
  button + muted hint.
- Drop the "Reassign blueprint" form on the server detail page
  along with the unused POST /servers/<id> form route. The JSON
  PATCH /servers/<id> endpoint is retained.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 01:47:33 +02:00
..
__init__.py chore(l4d2): flatten component layout 2026-05-05 23:47:06 +02:00
auth_routes.py security: harden boundary inputs and production defaults 2026-05-07 00:53:33 +02:00
blueprint_routes.py feat(web): forms in modals, edit/delete on detail pages, port auto-assign 2026-05-07 01:30:33 +02:00
job_routes.py feat(l4d2-web): add job pages and cancellation 2026-05-06 15:05:13 +02:00
log_routes.py chore(l4d2): flatten component layout 2026-05-05 23:47:06 +02:00
overlay_routes.py feat(web): forms in modals, edit/delete on detail pages, port auto-assign 2026-05-07 01:30:33 +02:00
page_routes.py feat(web): blueprint-prefilled create-server flow + empty-state CTA 2026-05-07 01:47:33 +02:00
server_routes.py feat(web): blueprint-prefilled create-server flow + empty-state CTA 2026-05-07 01:47:33 +02:00