<?php

declare(strict_types=1);

/**
 * Interview-Seite der Stadionzeitung (Live-Seite) — das Gespräch, auf das die
 * Teaser-Zeile des Covers verweist (z. B. mit dem Trainer über die Neuzugänge).
 * Der Inhalt ist KEIN Skript-Input: er wird wie das Vorwort im Chat gepflegt —
 * Felix schickt Fragen/Antworten, Claude trägt sie ins `interview`-Feld der
 * Ausgabe in data/stadionzeitung.json ein:
 *   teaser        Coverzeile („Unser Trainer … über die Neuzugänge")
 *   heading       Überschrift der Seite
 *   person_name / person_role   wer spricht
 *   intro         optionaler Vorspann (kursiv, Serif)
 *   fragen[]      { frage, antwort }
 *   photo         optional, Porträt — entweder ein direkter Asset-Pfad
 *                 (z. B. "img/persons/ali-kilic.jpg", die geteilten
 *                 Personenfotos haben keine Breiten-Varianten) oder
 *                 base/widths wie verfasser_photo
 * bin/stadionzeitung-add.php trägt das Feld über erneute Läufe hinweg weiter
 * (wie `vorwort`) und plant die Seite nur ein, wenn das Feld existiert.
 *
 * Fragen in Abel fett, Antworten in der Lese-Serif (--ff-serif, PT Serif) —
 * dieselbe Begründung wie beim Vorwort: redaktioneller Text, keine UI-Fläche.
 *
 * Props: $issue (Eintrag aus data/stadionzeitung.json)
 */
$issue = $issue ?? [];
$interview = $issue['interview'] ?? null;
if (!is_array($interview)) {
    return;
}
$heading = trim((string) ($interview['heading'] ?? $interview['teaser'] ?? 'Interview'));
$person = trim(implode(' · ', array_filter([
    (string) ($interview['person_name'] ?? ''),
    (string) ($interview['person_role'] ?? ''),
])));
$photo = $interview['photo'] ?? null;
$photoSrc = null;
if (is_string($photo) && $photo !== '') {
    $photoSrc = $photo;
} elseif (is_array($photo) && !empty($photo['base']) && !empty($photo['widths'])) {
    $photoSrc = $photo['base'] . '-' . min($photo['widths']) . '.jpg';
}
?>
<div class="stadionzeitung-interview">
    <div class="stadionzeitung-interview__head-row">
        <header class="stadionzeitung-page__head">
            <p class="stadionzeitung-page__kicker">Interview</p>
            <h2 class="stadionzeitung-page__heading"><?= e($heading) ?></h2>
<?php if ($person !== ''): ?>
            <p class="stadionzeitung-page__sub"><?= e($person) ?></p>
<?php endif; ?>
        </header>
<?php if ($photoSrc !== null): ?>
        <img class="stadionzeitung-interview__portrait" src="<?= e(asset($photoSrc)) ?>" alt="" loading="lazy" decoding="async">
<?php endif; ?>
    </div>
    <span class="stadionzeitung-page__rule" aria-hidden="true"></span>
<?php if (!empty($interview['intro'])): ?>
    <p class="stadionzeitung-interview__intro"><?= e((string) $interview['intro']) ?></p>
<?php endif; ?>
<?php foreach ($interview['fragen'] ?? [] as $qa): ?>
    <div class="stadionzeitung-interview__qa">
        <p class="stadionzeitung-interview__frage"><?= e((string) ($qa['frage'] ?? '')) ?></p>
        <p class="stadionzeitung-interview__antwort"><?= e((string) ($qa['antwort'] ?? '')) ?></p>
    </div>
<?php endforeach; ?>
</div>
