<?php
require_once __DIR__ . '/../includes/auth.php';
require_once __DIR__ . '/../includes/csrf.php';
require_once __DIR__ . '/../includes/mailer.php';
auth_require_admin();

$success_filter = $_GET['result'] ?? '';
$where  = '';
$params = [];
if ($success_filter === 'sent')   { $where='WHERE success=1'; }
if ($success_filter === 'failed') { $where='WHERE success=0'; }

$entries = db_all("SELECT * FROM email_log $where ORDER BY sent_at DESC LIMIT 300", $params);
$counts = [
    'total'  => (int)db_value('SELECT COUNT(*) FROM email_log'),
    'sent'   => (int)db_value('SELECT COUNT(*) FROM email_log WHERE success=1'),
    'failed' => (int)db_value('SELECT COUNT(*) FROM email_log WHERE success=0'),
    'today'  => (int)db_value('SELECT COUNT(*) FROM email_log WHERE sent_at >= CURDATE()'),
];

$page_title = 'Email Log';
require __DIR__ . '/_guard.php';
?>

<style>
.atbl{width:100%;border-collapse:collapse;font-size:.85rem;}
.atbl th{padding:.55rem 1rem;background:var(--surface-alt);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);border-bottom:2px solid var(--line);text-align:left;white-space:nowrap;}
.atbl td{padding:.55rem 1rem;border-bottom:1px solid var(--line);vertical-align:top;}
.lg-ok  {color:#16a34a;font-weight:700;}
.lg-fail{color:#b91c1c;font-weight:700;}
.ftab{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .85rem;border-radius:999px;font-size:.82rem;border:1px solid var(--line);text-decoration:none;color:var(--ink);}
.ftab.on{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary);}
.ftab .cnt{background:rgba(0,0,0,.12);border-radius:999px;padding:.05em .45em;font-size:.78em;font-weight:700;}
</style>

<?php
$settings_section = 'email';
require __DIR__ . '/_settings_open.php';
?>

<div class="settings-page-head" style="display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;">
    <div>
        <h1>Email Log</h1>
        <p class="crumb">Send history. <?= number_format($counts['total']) ?> total · <?= number_format($counts['today']) ?> today.</p>
    </div>
    <div style="display:flex;gap:.5rem;">
        <a href="email-templates.php" class="btn btn-outline">Templates</a>
        <a href="email-queue.php" class="btn btn-outline">Queue</a>
    </div>
</div>

<div style="display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem;">
    <a href="?result=" class="ftab <?= $success_filter===''?'on':'' ?>">All <span class="cnt"><?= $counts['total'] ?></span></a>
    <a href="?result=sent" class="ftab <?= $success_filter==='sent'?'on':'' ?>">Sent <span class="cnt"><?= $counts['sent'] ?></span></a>
    <a href="?result=failed" class="ftab <?= $success_filter==='failed'?'on':'' ?>">Failed <span class="cnt"><?= $counts['failed'] ?></span></a>
</div>

<?php if (empty($entries)): ?>
    <div class="card"><p class="muted" style="margin:0;">No log entries yet.</p></div>
<?php else: ?>
<div class="card" style="padding:0;overflow:auto;">
    <table class="atbl">
        <thead>
            <tr>
                <th>When</th>
                <th>To</th>
                <th>Template</th>
                <th>Subject</th>
                <th style="text-align:center;">OK?</th>
                <th>Error</th>
            </tr>
        </thead>
        <tbody>
        <?php foreach ($entries as $e): ?>
            <tr>
                <td style="white-space:nowrap;font-size:.78rem;color:var(--ink-muted);">
                    <?= htmlspecialchars(date('j M H:i:s', strtotime($e['sent_at']))) ?>
                </td>
                <td><?= htmlspecialchars($e['to_email']) ?></td>
                <td><code style="font-size:.78rem;"><?= htmlspecialchars($e['template_slug']) ?></code></td>
                <td style="max-width:280px;font-size:.85rem;"><?= htmlspecialchars($e['subject']) ?></td>
                <td style="text-align:center;"><span class="<?= $e['success']?'lg-ok':'lg-fail' ?>"><?= $e['success']?'✓':'✗' ?></span></td>
                <td style="font-size:.78rem;color:var(--ink-muted);max-width:300px;">
                    <?= htmlspecialchars(mb_substr($e['error'] ?? '', 0, 200)) ?>
                </td>
            </tr>
        <?php endforeach; ?>
        </tbody>
    </table>
</div>
<p class="muted" style="font-size:.8rem;margin:.5rem 0 0;">Showing latest <?= count($entries) ?> entries.</p>
<?php endif; ?>

<?php require __DIR__ . '/_settings_close.php'; ?>

<?php require __DIR__ . '/_footer.php'; ?>