Some checks failed
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / test-sqlite (pull_request) Has been cancelled
CI/CD / build-and-deploy (pull_request) Has been cancelled
CI/CD / test-go-pg (pull_request) Has been cancelled
CI/CD / test-frontend (pull_request) Has been cancelled
Retire old primitives.css button/toast/popup-menu/dropdown/tabs systems.
sw-primitives.css is now the single source of truth.
- Migrate 29 files from .btn-* to .sw-btn .sw-btn--{variant} .sw-btn--{size}
- Delete old toast, popup-menu, dropdown, tabs CSS (no JS references)
- Resolve .sw-dropdown and .sw-tabs class name collisions
- Resolve .settings-section duplicate (modals.css removed, surfaces.css authoritative)
- Add .sw-btn--success variant, --bg-active CSS variable
- Fix sdk-test-runner wrong variable names, icd-test-runner button fallbacks
- Add scripts/audit-css-collisions.sh
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
30 lines
1.1 KiB
HTML
30 lines
1.1 KiB
HTML
{{/*
|
|
Reusable file upload component (v0.23.0).
|
|
Renders a drop zone + file picker button.
|
|
|
|
Expects dict with:
|
|
FieldName — unique ID for the input (e.g. "workspace-upload")
|
|
Label — optional label text
|
|
Multiple — bool, allow multiple files
|
|
Accept — optional file type filter (e.g. ".md,.txt,.go")
|
|
DropZone — bool, show drag-and-drop zone
|
|
*/}}
|
|
{{define "file-upload"}}
|
|
<div class="file-upload-wrap" id="{{.FieldName}}Wrap">
|
|
{{if .Label}}<label class="form-group-label">{{.Label}}</label>{{end}}
|
|
<input type="file" id="{{.FieldName}}Input"
|
|
{{if .Multiple}}multiple{{end}}
|
|
{{if .Accept}}accept="{{.Accept}}"{{end}}
|
|
style="display:none">
|
|
<button type="button" class="sw-btn sw-btn--primary sw-btn--sm"
|
|
onclick="document.getElementById('{{.FieldName}}Input').click()">
|
|
Choose files…
|
|
</button>
|
|
{{if .DropZone}}
|
|
<div class="file-upload-drop" id="{{.FieldName}}Drop">
|
|
Drop files here or click above
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
{{end}}
|