<?php
/**
 * Minhas Vendas como Produtor - Área do Usuário
 * 
 * Lista vendas de produtos do usuário
 */

// Proteção de autenticação (usuário comum apenas)
session_start();
require_once __DIR__ . '/../../backend/auth_helper.php';
requer_usuario('/dashboard/index.php');

// Conexão com o banco de dados
require __DIR__ . '/../../config/config_db.php';

// Obter dados do usuário logado
$usuario = usuario_logado();
$usuario_id = $usuario['id'];
$usuario_nome = $usuario['nome'] ?? 'Usuário';

// Buscar vendas de produtos do usuário
try {
    $sql = "SELECT t.id, t.nome, t.sobrenome, t.email, t.valor, t.descricao, t.status, t.created_at, t.tipo_pagamento,
                   p.nome as produto_nome,
                   u_afiliado.nome as afiliado_nome
            FROM transacoes t
            INNER JOIN produtos p ON p.id = t.produto_id
            LEFT JOIN usuarios u_afiliado ON u_afiliado.id = t.afiliado_id
            WHERE t.produtor_id = :usuario_id
            ORDER BY t.created_at DESC";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([':usuario_id' => $usuario_id]);
    $vendas = $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
    error_log("Erro ao buscar vendas: " . $e->getMessage());
    $vendas = [];
}

// Calcular estatísticas
$total_vendas = count($vendas);
$total_aprovadas = 0;
$total_valor = 0;
foreach ($vendas as $venda) {
    if (strtolower($venda['status']) === 'aprovado') {
        $total_aprovadas++;
        $total_valor += floatval($venda['valor']);
    }
}
?>
<style>
    .vendas-container {
        padding: 20px;
        max-width: 1200px;
        margin: 0 auto;
    }

    .header {
        text-align: center;
        padding: 20px;
        margin-bottom: 30px;
    }

    .header h1 {
        font-size: 32px;
        font-weight: 800;
        margin-bottom: 10px;
        color: var(--text-main);
    }

    .header p {
        color: var(--text-muted);
        font-size: 16px;
    }

    .back-link {
        display: inline-block;
        margin-bottom: 20px;
        color: var(--primary-color, #667eea);
        text-decoration: none;
        font-weight: 600;
        padding: 10px 20px;
        background: var(--bg-card);
        border: 1px solid var(--border-color);
        border-radius: 8px;
        transition: all 0.3s;
    }

    .back-link:hover {
        background: var(--bg-card);
        transform: translateX(-5px);
        border-color: var(--primary-color, #667eea);
    }

    .stats-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 20px;
        margin-bottom: 40px;
    }

    .stat-card {
        background: var(--bg-card);
        padding: 25px;
        border-radius: 15px;
        border: 1px solid var(--border-color);
    }

    .stat-card h3 {
        font-size: 32px;
        font-weight: 800;
        margin-bottom: 10px;
        color: var(--color_status_success, #4ade80);
    }

    .stat-card p {
        color: var(--text-muted);
        font-size: 14px;
    }

    .table-container {
        background: var(--bg-card);
        border-radius: 15px;
        overflow: hidden;
        border: 1px solid var(--border-color);
    }

    table {
        width: 100%;
        border-collapse: collapse;
    }

    thead {
        background: var(--bg-body);
    }

    th {
        padding: 15px;
        text-align: left;
        font-weight: 600;
        color: var(--text-main);
        border-bottom: 2px solid var(--border-color);
    }

    td {
        padding: 15px;
        border-bottom: 1px solid var(--border-color);
        color: var(--text-main);
    }

    tbody tr:hover {
        background: var(--bg-body);
    }

    .status {
        padding: 5px 10px;
        border-radius: 5px;
        font-size: 12px;
        font-weight: 600;
    }

    .status-aprovado {
        background: var(--color_status_success, #4ade80);
        color: #ffffff;
    }

    .status-pendente {
        background: var(--color_status_warning, #fbbf24);
        color: #ffffff;
    }

    .status-rejeitado {
        background: var(--color_status_danger, #f87171);
        color: #ffffff;
    }

    .status-reembolsado {
        background: var(--color_status_danger, #dc2626);
        color: #ffffff;
    }

    .status-cancelado {
        background: var(--color_status_danger, #991b1b);
        color: #ffffff;
    }

    .valor-zerado {
        text-decoration: line-through;
        opacity: 0.5;
        color: var(--text-muted);
    }

    .no-data {
        text-align: center;
        padding: 60px 20px;
        color: var(--text-muted);
    }

    @media (max-width: 768px) {
        .stats-grid {
            grid-template-columns: 1fr;
        }
        
        .table-container {
            overflow-x: auto;
        }
    }
</style>

<div class="vendas-container">
    <a href="?page=home" class="back-link">
        <i class="fas fa-arrow-left"></i> Voltar para Área do Usuário
    </a>

    <div class="header">
        <h1><i class="fas fa-chart-line"></i> Minhas Vendas como Produtor</h1>
        <p>Vendas dos seus produtos</p>
    </div>

    <div class="stats-grid">
        <div class="stat-card">
            <h3><?= $total_vendas; ?></h3>
            <p>Total de Vendas</p>
        </div>
        <div class="stat-card">
            <h3><?= $total_aprovadas; ?></h3>
            <p>Vendas Aprovadas</p>
        </div>
        <div class="stat-card">
            <h3>R$ <?= number_format($total_valor, 2, ',', '.'); ?></h3>
            <p>Valor Total Aprovado</p>
        </div>
    </div>

    <?php if (empty($vendas)): ?>
        <div class="no-data">
            <i class="fas fa-inbox" style="font-size: 64px; margin-bottom: 20px; opacity: 0.5;"></i>
            <h2>Nenhuma venda encontrada</h2>
            <p>Você ainda não possui vendas dos seus produtos.</p>
        </div>
    <?php else: ?>
        <div class="table-container">
            <table>
                <thead>
                    <tr>
                        <th>Data</th>
                        <th>Produto</th>
                        <th>Cliente</th>
                        <th>Afiliado</th>
                        <th>Valor</th>
                        <th>Status</th>
                    </tr>
                </thead>
                <tbody>
                    <?php foreach ($vendas as $venda): 
                        $status_lower = strtolower($venda['status']);
                        $is_aprovado = ($status_lower === 'aprovado');
                        $is_reembolsado = ($status_lower === 'reembolsado' || $status_lower === 'cancelado' || $status_lower === 'rejeitado');
                        $status_class = str_replace(' ', '-', $status_lower);
                    ?>
                    <tr>
                        <td><?= date('d/m/Y H:i', strtotime($venda['created_at'])); ?></td>
                        <td><strong><?= htmlspecialchars($venda['produto_nome'] ?? $venda['descricao']); ?></strong></td>
                        <td><?= htmlspecialchars($venda['nome'] . ' ' . $venda['sobrenome']); ?><br><small><?= htmlspecialchars($venda['email']); ?></small></td>
                        <td>
                            <?php if (!empty($venda['afiliado_nome'])): ?>
                                <span style="color: var(--primary-color, #667eea);">
                                    <i class="fas fa-handshake"></i> <?= htmlspecialchars($venda['afiliado_nome']); ?>
                                </span>
                            <?php else: ?>
                                <span style="color: var(--text-muted);">-</span>
                            <?php endif; ?>
                        </td>
                        <td>
                            <?php if ($is_aprovado): ?>
                                <strong style="color: var(--color_status_success, #4ade80);">R$ <?= number_format(floatval($venda['valor']), 2, ',', '.'); ?></strong>
                            <?php else: ?>
                                <strong class="valor-zerado">R$ <?= number_format(floatval($venda['valor']), 2, ',', '.'); ?></strong>
                                <small style="display: block; color: var(--text-muted); font-size: 11px;">Receita não gerada</small>
                            <?php endif; ?>
                        </td>
                        <td>
                            <span class="status status-<?= htmlspecialchars($status_class); ?>">
                                <?= htmlspecialchars(ucfirst($venda['status'])); ?>
                            </span>
                        </td>
                    </tr>
                    <?php endforeach; ?>
                </tbody>
            </table>
        </div>
    <?php endif; ?>
</div>
