<?php
session_start();
if(!isset($_SESSION['usuario'])) {
    header('Location: login.php');
    exit();
}
include 'conexao.php';
if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
    die("Pedido inválido.");
}
$id = intval($_GET['id']);
$res = mysqli_query($conn, "SELECT * FROM pedidos WHERE id = $id");
if (!$res || mysqli_num_rows($res)==0) {
    die("Pedido não encontrado.");
}
$p = mysqli_fetch_assoc($res);

// Normaliza itens: aceita itens separados por ';' ou quebras de linha
$raw_items = isset($p['itens']) ? $p['itens'] : '';
$items = preg_split('/\r\n|\r|\n|;/', $raw_items);
$items = array_values(array_filter(array_map('trim', $items), function($v){ return $v !== ''; }));

// Tenta extrair campos de cada item (nome, código, unitário, quantidade, subtotal)
// Formato esperado: "Nome do Produto (Cód:123) - R$ 13,95 x 2 = R$ 27,90"
function parse_item_line($line) {
    $parsed = [
        'name' => $line,
        'code' => '',
        'unit' => '',
        'qty' => '',
        'subtotal' => ''
    ];

    $pattern = '/^(.*?)\s*\(Cód:\s*([^\)]+)\)\s*-\s*R\$[\s]*([0-9\.\,]+)\s*x\s*([0-9]+)\s*=\s*R\$[\s]*([0-9\.\,]+)\s*$/u';
    if (preg_match($pattern, $line, $m)) {
        $parsed['name'] = trim($m[1]);
        $parsed['code'] = trim($m[2]);
        $parsed['unit'] = trim($m[3]);
        $parsed['qty'] = trim($m[4]);
        $parsed['subtotal'] = trim($m[5]);
    } else {
        // Tenta extrair código simples "(Cód:...)" sem os valores
        if (preg_match('/^(.*?)\s*\(Cód:\s*([^\)]+)\)\s*$/u', $line, $m2)) {
            $parsed['name'] = trim($m2[1]);
            $parsed['code'] = trim($m2[2]);
        }
    }
    return $parsed;
}
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <title>Imprimir Pedido #<?php echo htmlspecialchars($p['id']); ?></title>
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <style>
        /* Layout otimizado para impressora térmica 80mm / 72mm */
        @media print {
            @page { margin: 4mm 4mm; }
            body { margin: 0; }
            .no-print { display: none !important; }
        }

        body {
            width: 72mm; /* ajustar para sua impressora: 72mm ou 80mm */
            margin: 0 auto;
            font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
            font-size: 11px;
            color: #222;
            background: #fff;
            padding: 8px 6px;
            box-sizing: border-box;
        }

        /* Cabeçalho */
        .store {
            text-align: center;
            margin-bottom: 6px;
        }
        .store .name {
            font-size: 15px;
            font-weight: 700;
            color: #000;
            letter-spacing: 0.6px;
        }
        .store .meta {
            font-size: 10px;
            color: #555;
            margin-top: 4px;
        }

        h2.order-no {
            text-align: center;
            font-size: 13px;
            margin: 6px 0;
            color: #000;
        }

        .customer, .meta-row {
            font-size: 10.5px;
            margin-bottom: 4px;
        }
        .customer strong, .meta-row strong { color: #000; font-weight: 600; }

        .divider {
            border-top: 1px dashed #999;
            margin: 6px 0;
        }

        /* Tabela de itens */
        table.items {
            width: 100%;
            border-collapse: collapse;
            font-size: 10.5px;
            margin-bottom: 6px;
        }
        table.items thead th {
            text-align: left;
            font-size: 10.5px;
            padding-bottom: 4px;
            border-bottom: 1px solid #ddd;
        }
        table.items tbody td {
            padding: 4px 0;
            vertical-align: top;
        }
        .col-qty, .col-unit, .col-sub {
            text-align: right;
            white-space: nowrap;
        }
        .product-name {
            font-weight: 600;
            color: #000;
        }
        .product-meta {
            font-size: 9.5px;
            color: #444;
        }

        .total {
            margin-top: 6px;
            font-size: 12px;
            font-weight: 700;
            text-align: right;
        }
        .payment, .status {
            margin-top: 6px;
            font-size: 10.5px;
        }

        .footer {
            margin-top: 10px;
            text-align: center;
            font-size: 9.5px;
            color: #555;
            border-top: 1px dashed #999;
            padding-top: 6px;
        }

        button.no-print {
            display: block;
            margin: 10px auto;
            padding: 8px 18px;
            font-size: 13px;
            background: #1976d2;
            color: #fff;
            border: none;
            border-radius: 4px;
            cursor: pointer;
        }

        /* Pequenas melhorias para quebra de linhas longas */
        .wrap {
            word-break: break-word;
        }
    </style>
</head>
<body>
    <button class="no-print" onclick="window.print()">Imprimir</button>

    <div class="store">
        <!-- Substitua o texto abaixo por uma imagem de logo se quiser -->
        <div class="name">Mercado Pajeú</div>
        <div class="meta">Rua Exemplo, 123 - Centro • (83) 98881-4996</div>
        <div class="meta">CNPJ: 00.000.000/0000-00</div>
    </div>

    <h2 class="order-no">Pedido Nº <?php echo htmlspecialchars($p['id']); ?></h2>

    <div class="customer"><strong>Cliente:</strong> <?php echo htmlspecialchars($p['cliente']); ?></div>
    <?php if (!empty($p['endereco'])): ?>
    <div class="meta-row"><strong>Endereço:</strong> <?php echo nl2br(htmlspecialchars($p['endereco'])); ?></div>
    <?php endif; ?>
    <div class="meta-row"><strong>Data:</strong> <?php echo date('d/m/Y H:i', strtotime($p['data'])); ?></div>

    <div class="divider"></div>

    <table class="items" aria-label="Itens do pedido">
        <thead>
            <tr>
                <th style="width: 6%;">#</th>
                <th style="width: 56%;">Produto</th>
                <th class="col-qty" style="width: 12%;">Qtd</th>
                <th class="col-unit" style="width: 13%;">Unit.</th>
                <th class="col-sub" style="width: 13%;">Subt.</th>
            </tr>
        </thead>
        <tbody>
            <?php
            $i = 1;
            foreach ($items as $line):
                $parsed = parse_item_line($line);
                // Se os valores vierem com '.' como separador de milhares e ',' decimal, mantemos texto original
                $unit_text = $parsed['unit'] ? 'R$ ' . htmlspecialchars($parsed['unit']) : '';
                $sub_text = $parsed['subtotal'] ? 'R$ ' . htmlspecialchars($parsed['subtotal']) : '';
                $qty_text = $parsed['qty'] ? htmlspecialchars($parsed['qty']) : '';
                $code_text = $parsed['code'] ? ' (Cód: '.htmlspecialchars($parsed['code']).')' : '';
            ?>
            <tr>
                <td><?php echo $i; ?></td>
                <td class="wrap">
                    <div class="product-name"><?php echo htmlspecialchars($parsed['name']); ?></div>
                    <?php if ($code_text): ?>
                        <div class="product-meta"><?php echo $code_text; ?></div>
                    <?php endif; ?>
                </td>
                <td class="col-qty"><?php echo $qty_text; ?></td>
                <td class="col-unit"><?php echo $unit_text; ?></td>
                <td class="col-sub"><?php echo $sub_text; ?></td>
            </tr>
            <?php
                $i++;
            endforeach;
            if (count($items) === 0):
            ?>
            <tr><td colspan="5">Nenhum item registrado neste pedido.</td></tr>
            <?php endif; ?>
        </tbody>
    </table>

    <div class="divider"></div>

    <div class="total">Total: R$ <?php echo number_format($p['total'],2,',','.'); ?></div>

    <?php if (!empty($p['forma_pagamento'])): ?>
    <div class="payment"><strong>Forma de pagamento:</strong> <?php echo htmlspecialchars($p['forma_pagamento']); ?></div>
    <?php endif; ?>

    <div class="status"><strong>Status:</strong> <?php echo htmlspecialchars($p['status']); ?></div>

    <div class="footer">
        <div><strong>Mercado Pajeú agradece pela preferência!</strong></div>
        <div>Chave Pix: teste@teste.com • Banco: Bradesco • Nome: teste banco Bradesco</div>
        <div style="margin-top:6px;">Impresso em <?php echo date('d/m/Y H:i'); ?></div>
    </div>
</body>
</html>