#!/bin/bash

# 🚀 Script de Deploy Vercel - Liberi Kids
# Execute: chmod +x scripts/deploy-vercel.sh && ./scripts/deploy-vercel.sh

echo "☁️ Iniciando deploy no Vercel..."

# Cores para output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

log() {
    echo -e "${GREEN}[INFO]${NC} $1"
}

warn() {
    echo -e "${YELLOW}[WARN]${NC} $1"
}

error() {
    echo -e "${RED}[ERROR]${NC} $1"
}

# Verificar se Vercel CLI está instalado
if ! command -v vercel &> /dev/null; then
    log "Instalando Vercel CLI..."
    npm install -g vercel
fi

# Criar arquivo vercel.json se não existir
if [ ! -f "vercel.json" ]; then
    log "Criando configuração do Vercel..."
    cat > vercel.json << 'EOF'
{
  "version": 2,
  "name": "liberi-kids-estoque",
  "builds": [
    {
      "src": "server-supabase.js",
      "use": "@vercel/node"
    },
    {
      "src": "client/package.json",
      "use": "@vercel/static-build",
      "config": {
        "distDir": "build"
      }
    }
  ],
  "routes": [
    {
      "src": "/api/(.*)",
      "dest": "/server-supabase.js"
    },
    {
      "src": "/(.*)",
      "dest": "/client/build/$1"
    }
  ],
  "env": {
    "NODE_ENV": "production"
  }
}
EOF
fi

# Criar arquivo .vercelignore se não existir
if [ ! -f ".vercelignore" ]; then
    log "Criando .vercelignore..."
    cat > .vercelignore << 'EOF'
node_modules
.env
.env.local
.env.development
.env.test
.env.production
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.DS_Store
.vscode
.idea
*.log
EOF
fi

# Verificar se as dependências estão instaladas
log "Verificando dependências..."
npm install

cd client
npm install
cd ..

# Fazer login no Vercel (se necessário)
log "Verificando login no Vercel..."
vercel whoami || {
    log "Faça login no Vercel:"
    vercel login
}

# Deploy
log "Fazendo deploy no Vercel..."
vercel --prod

if [ $? -eq 0 ]; then
    log "Deploy concluído com sucesso! 🎉"
    echo ""
    echo -e "${BLUE}📋 Próximos passos:${NC}"
    echo "1. Configure as variáveis de ambiente no dashboard do Vercel:"
    echo "   - SUPABASE_URL"
    echo "   - SUPABASE_ANON_KEY"
    echo ""
    echo "2. Acesse: https://vercel.com/dashboard"
    echo "3. Selecione seu projeto"
    echo "4. Vá em Settings > Environment Variables"
    echo "5. Adicione suas variáveis do Supabase"
    echo ""
    echo -e "${GREEN}✓ Aplicação disponível na URL fornecida pelo Vercel${NC}"
else
    error "Falha no deploy. Verifique os logs acima."
    exit 1
fi
