#!/bin/bash
# Script de Diagnóstico de Build - Execute e envie os resultados

echo "=========================================="
echo "  DIAGNÓSTICO DE BUILD - GESTORSTREAM"
echo "=========================================="
echo ""
echo "Data/Hora: $(date)"
echo ""

APP_DIR="/var/www/gestorstream"
cd "$APP_DIR" || exit 1

LOG_FILE="/tmp/diagnostico-build-$(date +%Y%m%d-%H%M%S).log"

{
    echo "=========================================="
    echo "PASSO 1: Status do Git"
    echo "=========================================="
    git status
    echo ""
    
    echo "=========================================="
    echo "PASSO 2: Diferenças no update.sh"
    echo "=========================================="
    git diff update.sh
    echo ""
    
    echo "=========================================="
    echo "PASSO 3: Verificando linha 653 do AuditLogsPage.tsx"
    echo "=========================================="
    sed -n '645,660p' frontend/src/pages/AuditLogsPage.tsx
    echo ""
    
    echo "=========================================="
    echo "PASSO 4: Verificando encoding e caracteres especiais"
    echo "=========================================="
    file frontend/src/pages/AuditLogsPage.tsx
    head -n 660 frontend/src/pages/AuditLogsPage.tsx | tail -n 15 | cat -A
    echo ""
    
    echo "=========================================="
    echo "PASSO 5: Tamanho e últimas linhas do arquivo"
    echo "=========================================="
    wc -l frontend/src/pages/AuditLogsPage.tsx
    tail -n 10 frontend/src/pages/AuditLogsPage.tsx
    echo ""
    
    echo "=========================================="
    echo "PASSO 6: Conteúdo exato da linha 653 (hex)"
    echo "=========================================="
    sed -n '653p' frontend/src/pages/AuditLogsPage.tsx | od -c
    echo ""
    
    echo "=========================================="
    echo "PASSO 7: Versões Node e NPM"
    echo "=========================================="
    node --version
    npm --version
    echo ""
    
    echo "=========================================="
    echo "PASSO 8: Dependências Vite e ESBuild"
    echo "=========================================="
    cd frontend
    cat package.json | grep -A 5 '"vite"'
    cat package.json | grep -A 5 '"esbuild"'
    echo ""
    
    echo "=========================================="
    echo "PASSO 9: Tentando build (primeiros erros)"
    echo "=========================================="
    npm run build 2>&1 | head -50
    echo ""
    
    echo "=========================================="
    echo "PASSO 10: Comparando com repositório (linhas 645-660)"
    echo "=========================================="
    cd "$APP_DIR"
    git show HEAD:frontend/src/pages/AuditLogsPage.tsx 2>/dev/null | sed -n '645,660p' || echo "Não foi possível obter versão do repositório"
    echo ""
    
    echo "=========================================="
    echo "PASSO 11: Verificando se arquivo existe e permissões"
    echo "=========================================="
    ls -la frontend/src/pages/AuditLogsPage.tsx
    echo ""
    
    echo "=========================================="
    echo "PASSO 12: Verificando sintaxe TypeScript"
    echo "=========================================="
    cd frontend
    npx tsc --noEmit --skipLibCheck src/pages/AuditLogsPage.tsx 2>&1 | head -30 || echo "TypeScript não disponível ou erro ao executar"
    echo ""
    
} | tee "$LOG_FILE"

echo ""
echo "=========================================="
echo "✅ Diagnóstico completo!"
echo "=========================================="
echo ""
echo "📄 Log salvo em: $LOG_FILE"
echo ""
echo "📋 Copie o conteúdo do arquivo acima e envie para análise."
echo "   Ou execute: cat $LOG_FILE"

