Backup #1000

ID1000
Dateipfad/var/www/dev.campus.systemische-tools.de/src/View/content/partials/critique.php
Version2
Typ modified
Größe5.6 KB
Hash5bcb135b85dea8438f0c97098c322546012bf8c6a537b910afc27485bb07928c
Datum2025-12-24 01:22:07
Geändert vonclaude-code-hook
GrundClaude Code Pre-Hook Backup vor Edit-Operation
Datei existiert Ja

Dateiinhalt

<?php
/**
 * Content Critique Partial
 *
 * @var array $critiques Critique results
 * @var bool $allPassed Whether all critics passed
 * @var int|string $round Critique round number
 */
$passedCount = 0;
$totalCount = count($critiques);
foreach ($critiques as $c) {
    if ($c['passed'] ?? false) {
        $passedCount++;
    }
}
?>
<div class="critique-results">
    <div class="critique-summary-box <?= $allPassed ? 'critique-summary-box--success' : 'critique-summary-box--warning' ?>">
        <div class="critique-summary-title">
            <?php if ($allPassed): ?>
                Kritik-Runde <?= htmlspecialchars((string) $round) ?> bestanden
            <?php else: ?>
                Kritik-Runde <?= htmlspecialchars((string) $round) ?>: Revision empfohlen
            <?php endif; ?>
        </div>
        <div class="critique-summary-stats">
            <?= $passedCount ?> von <?= $totalCount ?> Kritikern zufrieden
        </div>
        <div class="critique-summary-action">
            <?php if ($allPassed): ?>
                Der Content hat alle Qualitaetspruefungen bestanden. Sie koennen ihn jetzt genehmigen.
            <?php else: ?>
                Mindestens ein Kritiker hat Verbesserungsvorschlaege. Nutzen Sie "Revision erstellen" um den Content zu ueberarbeiten.
            <?php endif; ?>
        </div>
    </div>

    <div class="critique-details">
        <div class="critique-details-title">Detaillierte Kritiken:</div>
        <?php foreach ($critiques as $critique): ?>
            <?php
            $passed = $critique['passed'] ?? false;
            $icon = $passed ? '&#10003;' : '&#9888;';
            $class = $passed ? 'passed' : 'failed';
            $rating = $critique['rating'] ?? 0;
            ?>
            <div class="critique-item <?= $class ?>">
                <div class="critique-item-header">
                    <span class="critique-icon"><?= $icon ?></span>
                    <span class="critique-name"><?= htmlspecialchars($critique['critic_name'] ?? 'Kritiker') ?></span>
                    <span class="critique-rating-badge"><?= $rating ?>/10</span>
                </div>

                <?php if (!empty($critique['summary'])): ?>
                <div class="critique-text"><?= htmlspecialchars($critique['summary']) ?></div>
                <?php endif; ?>

                <?php if (!empty($critique['issues'])): ?>
                <div class="critique-issues">
                    <strong>Probleme:</strong>
                    <ul>
                    <?php foreach ($critique['issues'] as $issue): ?>
                        <li><?= htmlspecialchars($issue) ?></li>
                    <?php endforeach; ?>
                    </ul>
                </div>
                <?php endif; ?>

                <?php if (!empty($critique['suggestions'])): ?>
                <div class="critique-suggestions">
                    <strong>Vorschlaege:</strong>
                    <ul>
                    <?php foreach ($critique['suggestions'] as $suggestion): ?>
                        <li><?= htmlspecialchars($suggestion) ?></li>
                    <?php endforeach; ?>
                    </ul>
                </div>
                <?php endif; ?>
            </div>
        <?php endforeach; ?>
    </div>
</div>

<style>
.critique-results {
    margin: var(--space-md) 0;
}
.critique-summary-box {
    padding: var(--space-md);
    border-radius: 8px;
    margin-bottom: var(--space-md);
}
.critique-summary-box--success {
    background: #d4edda;
    border: 1px solid #28a745;
    color: #155724;
}
.critique-summary-box--warning {
    background: #fff3cd;
    border: 1px solid #ffc107;
    color: #856404;
}
.critique-summary-title {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: var(--space-xs);
}
.critique-summary-stats {
    font-size: 0.9rem;
    margin-bottom: var(--space-sm);
}
.critique-summary-action {
    font-size: 0.85rem;
    opacity: 0.9;
}
.critique-details {
    background: var(--color-bg-muted);
    border: 1px solid var(--color-border);
    border-radius: 8px;
    padding: var(--space-md);
}
.critique-details-title {
    font-weight: 600;
    margin-bottom: var(--space-sm);
    color: var(--color-text-muted);
    font-size: 0.85rem;
    text-transform: uppercase;
}
.critique-item {
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: 6px;
    padding: var(--space-sm);
    margin-bottom: var(--space-sm);
}
.critique-item:last-child {
    margin-bottom: 0;
}
.critique-item.passed {
    border-left: 3px solid #28a745;
}
.critique-item.failed {
    border-left: 3px solid #dc3545;
}
.critique-item-header {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-bottom: var(--space-xs);
}
.critique-icon {
    font-size: 1rem;
}
.critique-item.passed .critique-icon { color: #28a745; }
.critique-item.failed .critique-icon { color: #dc3545; }
.critique-name {
    font-weight: 600;
    flex: 1;
}
.critique-rating-badge {
    background: var(--color-bg-muted);
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 500;
}
.critique-text {
    font-size: 0.9rem;
    color: var(--color-text);
    line-height: 1.5;
    margin-bottom: var(--space-xs);
}
.critique-issues, .critique-suggestions {
    font-size: 0.85rem;
    margin-top: var(--space-xs);
}
.critique-issues ul, .critique-suggestions ul {
    margin: var(--space-xs) 0 0 var(--space-md);
    padding: 0;
}
.critique-issues li, .critique-suggestions li {
    margin-bottom: 4px;
}
</style>

<script>
// Reload page after showing critique results to update buttons
setTimeout(function() { window.location.reload(); }, 2000);
</script>

Vollständig herunterladen

Aktionen

Herunterladen

Andere Versionen dieser Datei

ID Version Typ Größe Datum
1004 4 modified 3.4 KB 2025-12-24 01:25
1003 3 modified 3.4 KB 2025-12-24 01:25
1000 2 modified 5.6 KB 2025-12-24 01:22
993 1 modified 1.6 KB 2025-12-24 01:16

← Zurück zur Übersicht