#!/bin/bash

echo "=========================================="
echo "FIX FINAL: plan.price TypeError"
echo "=========================================="
echo ""

GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m'

cd /var/www/gestorstream

echo -e "${BLUE}1. Atualizando código do repositório...${NC}"
git stash 2>/dev/null
git pull origin main

if [ $? -eq 0 ]; then
    echo -e "${GREEN}✓${NC} Código atualizado"
else
    echo -e "${RED}❌${NC} Erro ao atualizar código"
    exit 1
fi
echo ""

echo -e "${BLUE}2. Limpando cache backend...${NC}"
cd backend
php artisan config:clear
php artisan cache:clear
php artisan route:clear
echo -e "${GREEN}✓${NC} Cache limpo"
echo ""

echo -e "${BLUE}3. Recompilando frontend (pode demorar)...${NC}"
cd ../frontend
npm run build

if [ $? -eq 0 ]; then
    echo -e "${GREEN}✓${NC} Frontend compilado com sucesso!"
    
    # Verificar se arquivos foram gerados
    if [ -f "dist/index.html" ]; then
        FILE_SIZE=$(stat -f%z "dist/index.html" 2>/dev/null || stat -c%s "dist/index.html" 2>/dev/null)
        echo -e "${GREEN}✓${NC} Arquivo dist/index.html gerado (${FILE_SIZE} bytes)"
    else
        echo -e "${RED}❌${NC} ERRO: dist/index.html não foi gerado!"
        exit 1
    fi
else
    echo -e "${RED}❌${NC} Erro ao compilar frontend"
    exit 1
fi
echo ""

echo -e "${BLUE}4. Ajustando permissões...${NC}"
cd /var/www/gestorstream
sudo chown -R www-data:www-data backend/storage
sudo chmod -R 775 backend/storage
echo -e "${GREEN}✓${NC} Permissões ajustadas"
echo ""

echo -e "${BLUE}5. Testando configuração do Nginx...${NC}"
sudo nginx -t
if [ $? -eq 0 ]; then
    echo -e "${GREEN}✓${NC} Configuração OK"
    echo ""
    echo -e "${BLUE}6. Recarregando Nginx...${NC}"
    sudo nginx -s reload
    echo -e "${GREEN}✓${NC} Nginx recarregado"
else
    echo -e "${RED}❌${NC} Erro na configuração do Nginx"
    exit 1
fi
echo ""

echo ""
echo -e "${GREEN}╔══════════════════════════════════════════╗"
echo -e "║                                          ║"
echo -e "║   ✅  TODAS AS CORREÇÕES APLICADAS!     ║"
echo -e "║                                          ║"
echo -e "╚══════════════════════════════════════════╝${NC}"
echo ""
echo -e "${YELLOW}📋 RESUMO DAS CORREÇÕES:${NC}"
echo ""
echo "  ✅ Histórico mostra 19 pagamentos"
echo "  ✅ Downgrade com modal bonito e crédito"
echo "  ✅ Upgrade - TODOS os plan.price corrigidos:"
echo "     • CheckoutModal.tsx (3 lugares)"
echo "     • SubscriptionManagementModal.tsx"
echo "     • DeletePlanModal.tsx (2 lugares)"
echo "     • AdminPlansPage.tsx (2 lugares)"
echo "     • AdminSubscriptionsPage.tsx (2 lugares)"
echo ""
echo -e "${YELLOW}🧪 TESTE AGORA:${NC}"
echo ""
echo "  1. Limpe o cache do navegador (Ctrl+Shift+Del)"
echo "  2. Recarregue /subscription (Ctrl+F5)"
echo "  3. Abra DevTools (F12) > Console"
echo "  4. Teste UPGRADE para plano mais caro"
echo ""
echo "     ✅ Deve calcular proration"
echo "     ✅ Deve mostrar valor correto"
echo "     ✅ Deve gerar PIX sem erro"
echo "     ✅ Console sem TypeError"
echo ""
echo "  5. Histórico deve mostrar 19 pagamentos"
echo "  6. Downgrade deve mostrar modal verde"
echo ""
echo -e "${YELLOW}📊 SE AINDA DER ERRO:${NC}"
echo ""
echo "  • Envie screenshot do console (F12)"
echo "  • Copie e cole a mensagem de erro completa"
echo "  • Diga em qual componente deu erro"
echo ""
echo -e "${GREEN}Pronto para testar!${NC}"
echo ""
