feat: single-step app creation with auto-slug, JAR upload, and deploy
All checks were successful
CI / cleanup-branch (push) Has been skipped
CI / build (push) Successful in 1m20s
CI / docker (push) Successful in 1m5s
CI / deploy-feature (push) Has been skipped
CI / deploy (push) Successful in 37s

Replace inline create form with a modal that handles the full flow:
- Name → auto-computed slug (editable if needed)
- Environment picker
- JAR file upload
- "Deploy immediately" toggle (on by default)
- Single "Create & Deploy" button runs all three API calls sequentially
  with step indicator

After creation, navigates directly to the new app's detail view.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-04-08 17:48:20 +02:00
parent c4fe992179
commit 6a32b83326
2 changed files with 192 additions and 40 deletions

View File

@@ -10,20 +10,63 @@
margin-bottom: 12px;
}
.createForm {
/* Create modal */
.createModal {
display: flex;
flex-direction: column;
gap: 14px;
}
.createField {
display: flex;
flex-direction: column;
gap: 4px;
}
.createLabel {
font-size: 12px;
font-weight: 500;
color: var(--text-muted);
}
.createLabelHint {
font-weight: 400;
font-style: italic;
margin-left: 6px;
}
.fileRow {
display: flex;
align-items: center;
gap: 8px;
padding: 12px;
margin-bottom: 12px;
border: 1px solid var(--border-subtle);
border-radius: 6px;
background: var(--bg-raised);
gap: 10px;
}
.fileName {
font-size: 12px;
color: var(--text-primary);
font-family: var(--font-mono);
}
.deployToggle {
display: flex;
align-items: center;
gap: 10px;
font-size: 12px;
color: var(--text-primary);
}
.stepIndicator {
font-size: 12px;
color: var(--accent, #6c7aff);
font-style: italic;
}
.createActions {
display: flex;
gap: 8px;
justify-content: flex-end;
padding-top: 8px;
border-top: 1px solid var(--border-subtle);
}
.nativeSelect {