Files
member-console/internal/embeds/templates/partials/workspace_create.html
T
cgalo5758 8e7e0dd04d Harden container, OIDC auth, and error handling
Run Docker runtime stage as non-root user app (UID 65532).

Add styled full-page 404/500 error rendering for navigation requests
while preserving plain-text responses for HTMX partials.

Reuse recent unconsumed OIDC login state to avoid state mismatch on
parallel login hits, and merge resource_access in role extraction.

Re-level template headings, add autocomplete tokens, and resolve
catalog resource display names.

Self-label test-stack secrets and document CSRF secret rotation.
2026-07-31 23:27:15 -05:00

34 lines
1.7 KiB
HTML

<!-- Workspace create form partial -->
<div class="card mb-3">
<div class="card-body">
<div class="d-flex justify-content-between align-items-center mb-3">
<h2 class="card-title mb-0 h6">Create Workspace</h2>
<button class="btn btn-outline-secondary btn-sm"
hx-get="/partials/workspaces"
hx-target="#workspaceContent"
hx-swap="innerHTML">Back</button>
</div>
{{ if .Error }}
<div class="alert alert-danger" role="alert">{{ .Error }}</div>
{{ end }}
<form autocomplete="off" hx-post="/partials/workspaces" hx-target="#workspaceContent" hx-swap="innerHTML">
<div class="row g-3">
<div class="col-md-6">
<label for="workspaceName" class="form-label">Workspace Name</label>
<input autocomplete="off" type="text" class="form-control js-workspace-name" id="workspaceName" name="name" required
placeholder="My Workspace">
</div>
<div class="col-md-6">
<label for="workspaceSlug" class="form-label">Slug</label>
<input autocomplete="off" type="text" class="form-control js-workspace-slug" id="workspaceSlug" name="slug" required
placeholder="my-workspace" pattern="[a-z0-9][a-z0-9-]*[a-z0-9]|[a-z0-9]">
<div class="form-text">URL-safe identifier. Auto-generated from name.</div>
</div>
<div class="col-12">
<button type="submit" class="btn btn-primary">Create Workspace</button>
</div>
</div>
</form>
</div>
</div>