Preview: Block im WOMS

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-09-30 21:06:53 +00:00
1 parent 0f884e41e8
commit 2de846436b
6 files changed
+369 -1

No files matched your search

+24
View File
@@ -0,0 +1,24 @@
// Hilfen für den Preview-Block (Variablen, Status-Punkt, Dev-Erkennung)
export function isValidEnvName(name) {
return /^[A-Z_][A-Z0-9_]*$/.test(String(name ?? ''))
}
// Änderungen ⇒ Body für PUT /preview/env; entfernte Namen werden nicht zugleich gesetzt
export function buildEnvPayload(setMap = {}, removeList = []) {
const remove = [...new Set(removeList)]
const set = {}
for (const [k, v] of Object.entries(setMap)) if (!remove.includes(k)) set[k] = v
return { set, remove }
}
const DOT_COLORS = { online: '#10b981', building: '#f59e0b', sleeping: '#f59e0b', starting: '#f59e0b', failed: '#ef4444' }
export function dotColor(state) {
return DOT_COLORS[state] || '#a0aec0'
}
export function isDevPreview(p) {
if (!p) return false
if (p.mode === 'dev') return true
return (p.mode || 'auto') === 'auto' && typeof p.detected === 'string' && p.detected.startsWith('dev:')
}