<?php
require_once __DIR__ . '/includes/layout.php';
require_login();
ensure_default_settings();

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    try {
        $phone = trim($_POST['contact_phone'] ?? '');
        $message = trim($_POST['contact_message'] ?? '');

        if ($phone !== '' && normalize_phone_digits($phone) === '') {
            throw new RuntimeException('Informe um número de WhatsApp válido (apenas dígitos).');
        }

        set_setting('renewal_contact_phone', $phone);
        set_setting('renewal_contact_message', $message !== ''
            ? $message
            : 'Olá, preciso renovar meu acesso IPTV.');

        flash('success', 'Contato de renovação salvo. O app atualiza em até 5 segundos.');
    } catch (Throwable $e) {
        flash('error', $e->getMessage());
    }
    header('Location: contact.php');
    exit;
}

$contactPhone = setting('renewal_contact_phone', '');
$contactMessage = setting('renewal_contact_message', 'Olá, preciso renovar meu acesso IPTV.');
$whatsappUrl = build_whatsapp_url($contactPhone, $contactMessage);
$phoneDigits = normalize_phone_digits($contactPhone);

render_header(
    'Contato / Renovação',
    'contact',
    'Número exibido no QR Code quando a assinatura IPTV estiver vencida ou bloqueada',
    [
        ['label' => 'Dashboard', 'url' => 'dashboard.php'],
        ['label' => 'Contato', 'url' => null],
    ]
);
?>

<div class="content-split contact-page">
    <div class="content-main">
        <div class="card">
            <h2>WhatsApp de renovação</h2>
            <p class="card-desc">
                Quando o usuário estiver logado no IPTV e a lista estiver vencida ou bloqueada,
                o app exibe uma tela de renovação com QR Code apontando para este contato.
            </p>

            <form method="post" class="form-narrow">
                <div class="form-group">
                    <label>Número do WhatsApp</label>
                    <input
                        type="text"
                        name="contact_phone"
                        value="<?= htmlspecialchars($contactPhone) ?>"
                        placeholder="Ex: 5511999999999 ou +55 11 99999-9999"
                        autocomplete="tel"
                    >
                    <p class="form-hint">Use DDI + DDD + número (somente dígitos no link). Ex: Brasil 55 + DDD + celular.</p>
                </div>
                <div class="form-group">
                    <label>Mensagem automática (opcional)</label>
                    <textarea name="contact_message" rows="3" placeholder="Mensagem pré-preenchida no WhatsApp"><?= htmlspecialchars($contactMessage) ?></textarea>
                </div>
                <button type="submit" class="btn primary">Salvar contato</button>
            </form>
        </div>
    </div>

    <aside class="content-side">
        <div class="card monitor-card monitor-green">
            <h2>Pré-visualização</h2>
            <?php if ($whatsappUrl !== ''): ?>
                <p class="card-desc">O QR Code no app abrirá este link:</p>
                <p class="cell-url" style="word-break: break-all; font-size: 0.85rem;"><?= htmlspecialchars($whatsappUrl) ?></p>
                <?php if ($phoneDigits !== ''): ?>
                    <p class="form-hint" style="margin-top: 12px;">Número: <strong><?= htmlspecialchars($phoneDigits) ?></strong></p>
                <?php endif; ?>
                <img
                    src="https://api.qrserver.com/v1/create-qr-code/?size=220x220&amp;data=<?= urlencode($whatsappUrl) ?>"
                    alt="QR Code WhatsApp"
                    width="220"
                    height="220"
                    style="margin-top: 16px; border-radius: 12px; background: #fff; padding: 8px;"
                >
            <?php else: ?>
                <p class="card-desc">Cadastre um número para gerar o QR Code de contato no app.</p>
            <?php endif; ?>
        </div>
        <div class="card">
            <h2>Dicas</h2>
            <ul class="tips-list">
                <li>O app busca este contato pela API a cada sincronização</li>
                <li>Deixe em branco para ocultar o QR Code (só a mensagem de renovação)</li>
                <li>Teste escaneando o QR ao lado com o celular</li>
            </ul>
        </div>
    </aside>
</div>

<?php render_footer(); ?>
