#!/bin/bash

# Script de despliegue para Portfolio Giancarlo
# Uso: ./deploy.sh

echo "🚀 Iniciando despliegue del Portfolio..."

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

# Función para mostrar mensajes
log() {
    echo -e "${GREEN}[INFO]${NC} $1"
}

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

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

# Verificar que estamos en el directorio correcto
if [ ! -f "package.json" ]; then
    error "No se encontró package.json. Ejecuta este script desde la carpeta portfolio-web"
    exit 1
fi

log "Limpiando instalaciones anteriores..."
rm -rf node_modules
rm -rf .next
rm -rf out

log "Instalando dependencias..."
npm install

log "Construyendo aplicación para producción..."
npm run build

if [ $? -eq 0 ]; then
    log "✅ Build completado exitosamente"
else
    error "❌ Error en el build"
    exit 1
fi

log "Preparando archivos para hosting compartido..."
# Para hosting compartido, usamos el build normal sin export estático
# Los archivos en .next/out/ se copiarán directamente

log "Creando archivo de respaldo de contenido actual..."
if [ -f "src/data/portfolio.json" ]; then
    cp src/data/portfolio.json "backup-portfolio-$(date +%Y%m%d-%H%M%S).json"
    log "✅ Respaldo creado"
fi

log "📦 Preparando archivos para subida..."
echo "Archivos listos para hosting compartido"
echo ""
echo "📋 Archivos a subir a public_html/:"
echo "1. Todo el contenido de la carpeta '.next/' (build de Next.js)"
echo "2. La carpeta 'src/' completa (código fuente)"
echo "3. La carpeta 'public/' completa (archivos estáticos)"
echo "4. Los archivos: package.json, package-lock.json, server.js, .htaccess"
echo ""
echo "📁 ZIP actualizado: portfolio-upload.zip"
echo "✅ Incluye server.js para Node.js Selector"
echo ""
echo "📋 Próximos pasos en el servidor:"
echo "1. Ejecuta 'npm install --production' en public_html/"
echo "2. Configura Node.js en cPanel (versión 18.x o 20.x)"
echo "3. Inicia la aplicación con 'npm start' o PM2"
echo ""
log "🎉 Preparación completada!"
