Backup #2202
| ID | 2202 |
| Dateipfad | /var/www/dev.campus.systemische-tools.de/src/View/content/index.php |
| Version | 2 |
| Typ |
modified |
| Größe | 3.6 KB |
| Hash | 0f074fa233c163074d771ccd58563999724e19f94896ab99a43641a10b3502e6 |
| Datum | 2026-01-01 18:13:08 |
| Geändert von | claude-code-hook |
| Grund | Claude Code Pre-Hook Backup vor Edit-Operation |
| Datei existiert |
Ja
|
Dateiinhalt
<?php ob_start(); ?>
<h1>Content Studio</h1>
<div class="stats-grid">
<div class="stat-card">
<span class="stat-card__value"><?= $stats['total_orders'] ?? 0 ?></span>
<span class="stat-card__label">Gesamt</span>
</div>
<div class="stat-card stat-card--warning">
<span class="stat-card__value"><?= $stats['by_status']['draft'] ?? 0 ?></span>
<span class="stat-card__label">Entwurf</span>
</div>
<div class="stat-card stat-card--info">
<span class="stat-card__value"><?= ($stats['by_status']['generating'] ?? 0) + ($stats['by_status']['critique'] ?? 0) + ($stats['by_status']['revision'] ?? 0) ?></span>
<span class="stat-card__label">In Arbeit</span>
</div>
<div class="stat-card stat-card--success">
<span class="stat-card__value"><?= ($stats['by_status']['approved'] ?? 0) + ($stats['by_status']['published'] ?? 0) ?></span>
<span class="stat-card__label">Fertig</span>
</div>
</div>
<div class="page-actions">
<a href="/content/new" class="btn btn--primary">Neuer Auftrag</a>
</div>
<h2>Aufträge</h2>
<div class="filters">
<input type="search" id="content-search" class="form-input" placeholder="Durchsuchen...">
<select id="filter-status" class="form-select--inline">
<option value="">Alle Status</option>
<option value="draft">Entwurf</option>
<option value="generating">Generiert</option>
<option value="critique">Kritik</option>
<option value="revision">Revision</option>
<option value="validate">Validierung</option>
<option value="approved">Genehmigt</option>
<option value="published">Publiziert</option>
</select>
</div>
<table id="content-table" data-sortable>
<thead>
<tr>
<th data-sort="id">ID</th>
<th data-sort="title">Titel</th>
<th data-sort="profile">Profil</th>
<th data-sort="status">Status</th>
<th data-sort="created_at">Erstellt</th>
</tr>
</thead>
<tbody>
<?php if (!empty($orders)): ?>
<?php foreach ($orders as $order): ?>
<tr>
<td><a href="/content/<?= $order['id'] ?>"><?= $order['id'] ?></a></td>
<td><a href="/content/<?= $order['id'] ?>"><?= htmlspecialchars($order['title']) ?></a></td>
<td><?= htmlspecialchars($order['profile_name'] ?? '-') ?></td>
<td><span class="badge badge--<?= $order['status'] ?>"><?= $order['status'] ?></span></td>
<td data-sort-value="<?= strtotime($order['created_at']) ?>"><?= substr($order['created_at'], 0, 16) ?></td>
</tr>
<?php endforeach; ?>
<?php else: ?>
<tr><td colspan="5" class="empty-state empty-state--small">Keine Aufträge vorhanden</td></tr>
<?php endif; ?>
</tbody>
</table>
<p class="links-bar">
<a href="/docs/content-studio">Dokumentation</a> |
<a href="/docs/api/content">API</a> |
<a href="/docs/modul/ki-content">Architektur</a>
</p>
<script type="module">
import { init } from '/js/components/data-table.js';
const dataTable = init({
clock: { now_epoch_ms_utc: () => Date.now() },
logger: console,
ui: {
showMessage: (msg) => { console.log(msg.type + ': ' + msg.text); },
disableFeature: (key) => { console.warn('Feature disabled: ' + key); },
offerRetry: () => Promise.resolve(false)
},
runId: crypto.randomUUID()
});
dataTable.create('content-table', {
searchInput: 'content-search',
pageSize: 10,
filters: {
'filter-status': 3
}
});
</script>
<?php $content = ob_get_clean(); ?>
<?php require VIEW_PATH . '/layout.php'; ?>
Vollständig herunterladen
Aktionen
Andere Versionen dieser Datei
| ID |
Version |
Typ |
Größe |
Datum |
| 2202 |
2 |
modified |
3.6 KB |
2026-01-01 18:13 |
| 2199 |
1 |
modified |
3.6 KB |
2026-01-01 18:08 |
← Zurück zur Übersicht