<?php
/**
 * Página de Agradecimento - Compra Aprovada (Produto Físico)
 * 
 * Exibe mensagem de sucesso, timeline de entrega e endereço de entrega para produtos físicos
 */

require_once __DIR__ . '/../config/config_db.php';

$transacao_id = isset($_GET['transacao_id']) ? intval($_GET['transacao_id']) : 0;

// Validação básica
if ($transacao_id <= 0) {
    header('Location: /');
    exit;
}

try {
    // Buscar dados da transação e do produto
    $stmt = $pdo->prepare("
        SELECT 
            t.status,
            t.email AS cliente_email,
            t.produto_id,
            t.endereco_json,
            t.frete_cobrado,
            t.codigo_rastreio,
            t.status_entrega,
            p.nome AS produto_nome,
            p.descricao AS produto_descricao,
            p.imagem AS produto_imagem,
            p.preco_atual AS produto_preco,
            p.tipo_produto,
            p.prazo_entrega_min,
            p.prazo_entrega_max
        FROM transacoes t
        INNER JOIN produtos p ON p.id = t.produto_id
        WHERE t.id = :id AND t.status = 'Aprovado'
        LIMIT 1
    ");
    $stmt->execute([':id' => $transacao_id]);
    $dados = $stmt->fetch(PDO::FETCH_ASSOC);
    
    if (!$dados) {
        // Transação não encontrada ou não aprovada
        header('Location: /');
        exit;
    }
    
    // Validar se é produto físico
    if (($dados['tipo_produto'] ?? 'digital') !== 'fisico') {
        // Se não for físico, redirecionar para página digital
        header("Location: /views/obrigado.php?transacao_id={$transacao_id}");
        exit;
    }
    
    // Decodificar endereço
    $endereco = null;
    if (!empty($dados['endereco_json'])) {
        $endereco = json_decode($dados['endereco_json'], true);
    }
    
    // Preparar nome do cliente (extrair do email se não tiver nome completo)
    $nome_cliente = '';
    if (!empty($endereco)) {
        // Se tiver endereço, tentar usar algum campo que possa ter nome
        // Por enquanto, usar o email como fallback
        $nome_cliente = explode('@', $dados['cliente_email'])[0];
    } else {
        $nome_cliente = explode('@', $dados['cliente_email'])[0];
    }
    
    // Status da entrega
    $status_entrega = $dados['status_entrega'] ?? 'preparando';
    $codigo_rastreio = $dados['codigo_rastreio'] ?? '';
    
    // Calcular datas estimadas de entrega
    $prazo_min = intval($dados['prazo_entrega_min'] ?? 5);
    $prazo_max = intval($dados['prazo_entrega_max'] ?? 10);
    $data_hoje = new DateTime();
    $data_entrega_min = clone $data_hoje;
    $data_entrega_min->modify("+{$prazo_min} days");
    $data_entrega_max = clone $data_hoje;
    $data_entrega_max->modify("+{$prazo_max} days");
    
} catch (PDOException $e) {
    error_log("Erro ao buscar dados da transação ID {$transacao_id}: " . $e->getMessage());
    header('Location: /');
    exit;
}
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Compra Confirmada!</title>
    
    <!-- Font Awesome -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
    
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
            background: #1e1e1e;
            min-height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 20px;
        }
        
        .success-container {
            background: white;
            border-radius: 20px;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
            max-width: 800px;
            width: 100%;
            padding: 50px 40px;
        }
        
        .success-icon {
            width: 100px;
            height: 100px;
            background: linear-gradient(135deg, #10b981 0%, #059669 100%);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 30px;
            animation: scaleIn 0.5s ease-out;
        }
        
        .success-icon i {
            font-size: 50px;
            color: white;
        }
        
        @keyframes scaleIn {
            from {
                transform: scale(0);
                opacity: 0;
            }
            to {
                transform: scale(1);
                opacity: 1;
            }
        }
        
        h1 {
            font-size: 32px;
            color: #1f2937;
            margin-bottom: 15px;
            text-align: center;
        }
        
        .subtitle {
            font-size: 18px;
            color: #6b7280;
            text-align: center;
            margin-bottom: 40px;
        }
        
        .product-info {
            background: #f9fafb;
            border-radius: 15px;
            padding: 25px;
            margin-bottom: 30px;
            display: flex;
            gap: 20px;
            align-items: center;
        }
        
        .product-image {
            width: 120px;
            height: 120px;
            object-fit: cover;
            border-radius: 10px;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
        }
        
        .product-details {
            flex: 1;
        }
        
        .product-name {
            font-size: 20px;
            font-weight: 700;
            color: #1f2937;
            margin-bottom: 8px;
        }
        
        .product-price {
            font-size: 24px;
            font-weight: 700;
            color: #667eea;
            margin-top: 10px;
        }
        
        .timeline-container {
            margin: 40px 0;
        }
        
        .timeline-title {
            font-size: 20px;
            font-weight: 700;
            color: #1f2937;
            margin-bottom: 25px;
            text-align: center;
        }
        
        .timeline {
            position: relative;
            padding-left: 40px;
        }
        
        .timeline::before {
            content: '';
            position: absolute;
            left: 15px;
            top: 0;
            bottom: 0;
            width: 2px;
            background: #e5e7eb;
        }
        
        .timeline-item {
            position: relative;
            margin-bottom: 30px;
            padding-bottom: 10px;
        }
        
        .timeline-item:last-child {
            margin-bottom: 0;
        }
        
        .timeline-icon {
            position: absolute;
            left: -25px;
            top: 0;
            width: 32px;
            height: 32px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
            color: white;
            z-index: 1;
        }
        
        .timeline-item.active .timeline-icon {
            background: linear-gradient(135deg, #10b981 0%, #059669 100%);
            box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.2);
        }
        
        .timeline-item.pending .timeline-icon {
            background: #e5e7eb;
            color: #9ca3af;
        }
        
        .timeline-content {
            margin-left: 20px;
        }
        
        .timeline-label {
            font-size: 16px;
            font-weight: 600;
            color: #1f2937;
            margin-bottom: 5px;
        }
        
        .timeline-description {
            font-size: 14px;
            color: #6b7280;
        }
        
        .timeline-date {
            font-size: 12px;
            color: #9ca3af;
            margin-top: 5px;
        }
        
        .address-container {
            background: #f9fafb;
            border-radius: 15px;
            padding: 25px;
            margin-top: 30px;
        }
        
        .address-title {
            font-size: 18px;
            font-weight: 700;
            color: #1f2937;
            margin-bottom: 15px;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        
        .address-details {
            font-size: 15px;
            color: #4b5563;
            line-height: 1.8;
        }
        
        .tracking-code {
            background: #eff6ff;
            border-left: 4px solid #3b82f6;
            padding: 15px;
            border-radius: 8px;
            margin-top: 20px;
        }
        
        .tracking-label {
            font-size: 14px;
            color: #6b7280;
            margin-bottom: 5px;
        }
        
        .tracking-value {
            font-size: 18px;
            font-weight: 700;
            color: #1f2937;
            font-family: monospace;
        }
        
        .btn-home {
            display: inline-block;
            margin-top: 30px;
            padding: 15px 40px;
            background: linear-gradient(90deg, #00c6ff, #0072ff);
            color: white;
            text-decoration: none;
            border-radius: 10px;
            font-weight: 600;
            font-size: 16px;
            text-align: center;
            transition: transform 0.2s, box-shadow 0.2s;
            width: 100%;
        }
        
        .btn-home:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 25px rgba(102, 126, 234, 0.3);
        }
        
        @media (max-width: 768px) {
            .success-container {
                padding: 30px 20px;
            }
            
            h1 {
                font-size: 24px;
            }
            
            .subtitle {
                font-size: 16px;
            }
            
            .product-info {
                flex-direction: column;
                text-align: center;
            }
            
            .product-image {
                width: 100px;
                height: 100px;
            }
        }
    </style>
</head>
<body>
    <div class="success-container">
        <div class="success-icon">
            <i class="fas fa-check"></i>
        </div>
        
        <h1>Parabéns, <?= htmlspecialchars(ucfirst($nome_cliente)); ?>!</h1>
        <p class="subtitle">Sua compra foi aprovada e está sendo processada.</p>
        
        <!-- Informações do Produto -->
        <div class="product-info">
            <?php if (!empty($dados['produto_imagem'])): ?>
            <img src="<?= htmlspecialchars($dados['produto_imagem']); ?>" alt="<?= htmlspecialchars($dados['produto_nome']); ?>" class="product-image">
            <?php else: ?>
            <div class="product-image" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2); display: flex; align-items: center; justify-content: center; color: white; font-size: 40px;">
                <i class="fas fa-box"></i>
            </div>
            <?php endif; ?>
            
            <div class="product-details">
                <div class="product-name"><?= htmlspecialchars($dados['produto_nome']); ?></div>
                <?php if (!empty($dados['produto_descricao'])): ?>
                <p style="color: #6b7280; font-size: 14px; margin-top: 5px;"><?= htmlspecialchars(substr($dados['produto_descricao'], 0, 100)) . (strlen($dados['produto_descricao']) > 100 ? '...' : ''); ?></p>
                <?php endif; ?>
                <div class="product-price">
                    R$ <?= number_format(floatval($dados['produto_preco'] ?? 0), 2, ',', '.'); ?>
                    <?php if (floatval($dados['frete_cobrado'] ?? 0) > 0): ?>
                    <span style="font-size: 16px; color: #6b7280;">+ Frete: R$ <?= number_format(floatval($dados['frete_cobrado']), 2, ',', '.'); ?></span>
                    <?php endif; ?>
                </div>
            </div>
        </div>
        
        <!-- Timeline de Entrega -->
        <div class="timeline-container">
            <h2 class="timeline-title">
                <i class="fas fa-truck"></i> Acompanhe sua entrega
            </h2>
            
            <div class="timeline">
                <!-- Etapa 1: Pagamento Aprovado -->
                <div class="timeline-item active">
                    <div class="timeline-icon">
                        <i class="fas fa-check"></i>
                    </div>
                    <div class="timeline-content">
                        <div class="timeline-label">Pagamento Aprovado</div>
                        <div class="timeline-description">Seu pagamento foi confirmado com sucesso.</div>
                        <div class="timeline-date"><?= date('d/m/Y H:i'); ?></div>
                    </div>
                </div>
                
                <!-- Etapa 2: Preparando Envio -->
                <div class="timeline-item <?= in_array($status_entrega, ['enviado', 'entregue']) ? 'active' : ($status_entrega === 'preparando' ? 'active' : 'pending'); ?>">
                    <div class="timeline-icon">
                        <i class="fas fa-box"></i>
                    </div>
                    <div class="timeline-content">
                        <div class="timeline-label">Preparando Envio</div>
                        <div class="timeline-description">Estamos preparando seu pedido para envio.</div>
                        <?php if ($status_entrega === 'preparando'): ?>
                        <div class="timeline-date">Em andamento</div>
                        <?php endif; ?>
                    </div>
                </div>
                
                <!-- Etapa 3: Em Trânsito -->
                <div class="timeline-item <?= in_array($status_entrega, ['enviado', 'entregue']) ? 'active' : 'pending'; ?>">
                    <div class="timeline-icon">
                        <i class="fas fa-shipping-fast"></i>
                    </div>
                    <div class="timeline-content">
                        <div class="timeline-label">Em Trânsito</div>
                        <div class="timeline-description">Seu pedido saiu para entrega.</div>
                        <?php if ($status_entrega === 'enviado' && !empty($codigo_rastreio)): ?>
                        <div class="timeline-date">Código: <?= htmlspecialchars($codigo_rastreio); ?></div>
                        <?php endif; ?>
                    </div>
                </div>
                
                <!-- Etapa 4: Entregue -->
                <div class="timeline-item <?= $status_entrega === 'entregue' ? 'active' : 'pending'; ?>">
                    <div class="timeline-icon">
                        <i class="fas fa-home"></i>
                    </div>
                    <div class="timeline-content">
                        <div class="timeline-label">Entregue</div>
                        <div class="timeline-description">Seu pedido foi entregue no endereço cadastrado.</div>
                        <?php if ($status_entrega === 'entregue'): ?>
                        <div class="timeline-date">Entrega confirmada</div>
                        <?php endif; ?>
                    </div>
                </div>
            </div>
            
            <!-- Prazo de Entrega -->
            <div style="text-align: center; margin-top: 25px; padding: 15px; background: #eff6ff; border-radius: 10px;">
                <div style="font-size: 14px; color: #6b7280; margin-bottom: 5px;">
                    <i class="fas fa-calendar-alt"></i> Prazo estimado de entrega:
                </div>
                <div style="font-size: 18px; font-weight: 700; color: #1f2937;">
                    <?= $data_entrega_min->format('d/m/Y'); ?> a <?= $data_entrega_max->format('d/m/Y'); ?>
                </div>
            </div>
        </div>
        
        <!-- Código de Rastreamento -->
        <?php if (!empty($codigo_rastreio)): ?>
        <div class="tracking-code">
            <div class="tracking-label">Código de Rastreamento:</div>
            <div class="tracking-value"><?= htmlspecialchars($codigo_rastreio); ?></div>
        </div>
        <?php endif; ?>
        
        <!-- Endereço de Entrega -->
        <?php if (!empty($endereco)): ?>
        <div class="address-container">
            <h3 class="address-title">
                <i class="fas fa-map-marker-alt"></i> Endereço de Entrega
            </h3>
            <div class="address-details">
                <?php
                $endereco_formatado = [];
                if (!empty($endereco['rua'])) {
                    $endereco_formatado[] = htmlspecialchars($endereco['rua']);
                    if (!empty($endereco['numero'])) {
                        $endereco_formatado[count($endereco_formatado) - 1] .= ', ' . htmlspecialchars($endereco['numero']);
                    }
                }
                if (!empty($endereco['complemento'])) {
                    $endereco_formatado[] = htmlspecialchars($endereco['complemento']);
                }
                if (!empty($endereco['bairro'])) {
                    $endereco_formatado[] = htmlspecialchars($endereco['bairro']);
                }
                if (!empty($endereco['cidade'])) {
                    $endereco_formatado[] = htmlspecialchars($endereco['cidade']);
                    if (!empty($endereco['estado'])) {
                        $endereco_formatado[count($endereco_formatado) - 1] .= ' - ' . htmlspecialchars(strtoupper($endereco['estado']));
                    }
                }
                if (!empty($endereco['cep'])) {
                    $endereco_formatado[] = 'CEP: ' . htmlspecialchars($endereco['cep']);
                }
                echo implode('<br>', $endereco_formatado);
                ?>
            </div>
        </div>
        <?php endif; ?>
        
        <a href="/" class="btn-home">
            <i class="fas fa-home"></i> Voltar para a Página Inicial
        </a>
    </div>
</body>
</html>

