Backup #1753

ID1753
Dateipfad/var/www/dev.campus.systemische-tools.de/src/View/prompts/form.php
Version1
Typ modified
Größe3.6 KB
Hasha755f041e831422b8c61cb541a7169a088fc727a75aeb2098600b2d664557442
Datum2025-12-27 12:46:53
Geändert vonclaude-code-hook
GrundClaude Code Pre-Hook Backup vor Write-Operation
Datei existiert Ja

Dateiinhalt

<?php ob_start(); ?>

<h1><?= $isEdit ? 'Prompt bearbeiten' : 'Neuer Prompt' ?></h1>

<nav class="breadcrumb">
    <a href="/prompts">Prompts</a>
    <?php if ($isEdit): ?>
    <span>/</span>
    <a href="/prompts/<?= $prompt['id'] ?>"><?= htmlspecialchars($prompt['name']) ?></a>
    <span>/</span>
    <span>Bearbeiten</span>
    <?php else: ?>
    <span>/</span>
    <span>Neu</span>
    <?php endif; ?>
</nav>

<?php if (isset($_SESSION['error'])): ?>
<div class="alert alert--error"><?= htmlspecialchars($_SESSION['error']) ?></div>
<?php unset($_SESSION['error']); endif; ?>

<form method="post" action="<?= $isEdit ? '/prompts/' . $prompt['id'] : '/prompts' ?>" class="form">
    <?= $csrfField ?>

    <div class="form-row">
        <div class="form-group form-group--large">
            <label for="name">Name *</label>
            <input type="text" id="name" name="name" class="form-input"
                   value="<?= htmlspecialchars($prompt['name'] ?? '') ?>" required>
            <small class="form-help">Eindeutiger Name (z.B. "critic-faktenprufer", "content-generate")</small>
        </div>

        <div class="form-group form-group--small">
            <label for="version">Version</label>
            <input type="text" id="version" name="version" class="form-input"
                   value="<?= htmlspecialchars($prompt['version'] ?? '1.0') ?>">
        </div>
    </div>

    <div class="form-group">
        <label for="content">Prompt-Inhalt *</label>
        <textarea id="content" name="content" class="form-textarea form-textarea--code" rows="20"><?= htmlspecialchars($prompt['content'] ?? '') ?></textarea>
        <small class="form-help">
            Verwende Platzhalter: <code>{fokus}</code>, <code>{content}</code>, <code>{feedback}</code>,
            <code>{briefing}</code>, <code>{context}</code>, <code>{profile_text}</code>, etc.
        </small>
    </div>

    <div class="form-group">
        <label class="checkbox-label">
            <input type="checkbox" name="is_active" value="1"
                   <?= ($prompt['is_active'] ?? 1) ? 'checked' : '' ?>>
            Aktiv
        </label>
        <small class="form-help">Nur aktive Prompts werden für Generierung verwendet</small>
    </div>

    <div class="form-actions">
        <button type="submit" class="btn btn--primary"><?= $isEdit ? 'Speichern' : 'Erstellen' ?></button>
        <a href="<?= $isEdit ? '/prompts/' . $prompt['id'] : '/prompts' ?>" class="btn btn--secondary">Abbrechen</a>
        <?php if ($isEdit): ?>
        <button type="button" class="btn btn--danger" onclick="confirmDelete()">Löschen</button>
        <?php endif; ?>
    </div>
</form>

<?php if ($isEdit): ?>
<form id="delete-form" method="post" action="/prompts/<?= $prompt['id'] ?>/delete" style="display:none">
    <?= $csrfField ?>
</form>

<script>
function confirmDelete() {
    if (confirm('Prompt "<?= addslashes($prompt['name']) ?>" wirklich löschen?')) {
        document.getElementById('delete-form').submit();
    }
}
</script>
<?php endif; ?>

<style>
.form-row { display: flex; gap: 1rem; }
.form-group--large { flex: 3; }
.form-group--small { flex: 1; }
.checkbox-label { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; }
.form-actions { display: flex; gap: 0.5rem; margin-top: 1.5rem; }
.btn--danger { background: #dc2626; color: white; margin-left: auto; }
.btn--danger:hover { background: #b91c1c; }
.form-textarea--code { font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace; font-size: 0.875rem; }
code { background: var(--bg-alt); padding: 0.125rem 0.375rem; border-radius: 3px; font-size: 0.8rem; }
</style>

<?php $content = ob_get_clean(); ?>
<?php require VIEW_PATH . '/layout.php'; ?>

Vollständig herunterladen

Aktionen

Herunterladen

← Zurück zur Übersicht