#!/bin/bash

# ========================================
# Script: update-project-assets.sh
# ⚠️  DEPRECADO - Ya no es necesario usar este script
# 
# Los assets ahora se manejan automáticamente:
# 1. Coloca los assets en: public/cd-project/assets/
# 2. Ejecuta: php artisan migrate:fresh --seed
# 3. Los assets se cargan automáticamente desde la BD
#
# Ver documentación: docs/ASSETS-SYSTEM.md
# ========================================
#
# ANTIGUO USO (ya no recomendado):
# ./update-project-assets.sh [ruta-a-assets]
# ========================================

# Colores
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
CYAN='\033[0;36m'
NC='\033[0m' # No Color

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

print_warning() {
    echo -e "${YELLOW}[WARNING]${NC} $1"
}

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

print_step() {
    echo -e "${BLUE}[STEP]${NC} $1"
}

print_success() {
    echo -e "${GREEN}[✓]${NC} $1"
}

# ========================================
# ⚠️  AVISO IMPORTANTE
# ========================================
echo -e "${YELLOW}════════════════════════════════════════════════════════════${NC}"
echo -e "${YELLOW}⚠️  ESTE SCRIPT YA NO ES NECESARIO${NC}"
echo -e "${YELLOW}════════════════════════════════════════════════════════════${NC}"
echo ""
echo -e "${CYAN}Los assets ahora se manejan automáticamente:${NC}"
echo ""
echo "  1. Coloca tus assets en: ${GREEN}public/cd-project/assets/${NC}"
echo "  2. Ejecuta: ${GREEN}php artisan migrate:fresh --seed${NC}"
echo "  3. Los assets se cargan desde la base de datos"
echo ""
echo -e "${CYAN}Documentación completa:${NC} docs/ASSETS-SYSTEM.md"
echo ""
echo -e "${YELLOW}════════════════════════════════════════════════════════════${NC}"
echo ""
read -p "¿Continuar de todos modos con el script antiguo? (y/N): " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
    print_message "Operación cancelada. Usa el nuevo sistema de assets."
    exit 0
fi
echo ""
print_warning "Continuando con script antiguo (no recomendado)..."
echo ""

# Verificar que estamos en un proyecto Laravel
if [ ! -f "artisan" ] || [ ! -d "app" ]; then
    print_error "Este script debe ejecutarse desde el directorio raíz del proyecto"
    exit 1
fi

# Obtener nombre del proyecto desde .env o directorio
PROJECT_NAME=$(grep "^APP_NAME=" .env 2>/dev/null | cut -d '=' -f2 | tr -d '"' || basename "$(pwd)")

# Determinar ruta de assets
if [ $# -gt 0 ]; then
    ASSETS_DIR="$1"
else
    ASSETS_DIR="public/cd-project/assets"
fi

print_message "═══════════════════════════════════════════════════════════"
print_message "Actualización de Assets del Proyecto"
print_message "═══════════════════════════════════════════════════════════"
echo ""
print_message "Proyecto: ${CYAN}$PROJECT_NAME${NC}"
print_message "Directorio fuente: ${CYAN}$ASSETS_DIR${NC}"
echo ""

# Verificar que el directorio existe
if [ ! -d "$ASSETS_DIR" ]; then
    print_error "El directorio de assets no existe: $ASSETS_DIR"
    print_message "Uso: $0 [ruta-a-assets]"
    print_message "Ejemplo: $0 public/cd-project/assets"
    print_message "O: $0 /ruta/absoluta/a/assets"
    exit 1
fi

# Verificar assets requeridos
print_step "Verificando assets requeridos..."
REQUIRED_ASSETS=("logo.png" "logo-2.png" "logo-alternative.png" "favicon.ico" "apple-touch-icon.png" "favicon.svg" "web-app-manifest-192x192.png" "web-app-manifest-512x512.png")

MISSING_ASSETS=()
for asset in "${REQUIRED_ASSETS[@]}"; do
    if [ ! -f "$ASSETS_DIR/$asset" ]; then
        MISSING_ASSETS+=("$asset")
    fi
done

if [ ${#MISSING_ASSETS[@]} -gt 0 ]; then
    print_warning "Assets faltantes:"
    for asset in "${MISSING_ASSETS[@]}"; do
        echo "  - $asset"
    done
    echo ""
    read -p "¿Continuar con los assets disponibles? (y/N): " -n 1 -r
    echo
    if [[ ! $REPLY =~ ^[Yy]$ ]]; then
        print_message "Operación cancelada"
        exit 0
    fi
else
    print_success "Todos los assets requeridos están presentes"
fi

# Ejecutar actualización
print_step "Ejecutando actualización de assets..."
echo ""

php artisan project:update-assets "$ASSETS_DIR" --backup --project="$PROJECT_NAME"

if [ $? -eq 0 ]; then
    echo ""
    print_success "Assets actualizados correctamente"
    
    # Verificar resultado
    print_step "Verificando resultado..."
    
    if [ -f "public/cd-project/img/logos/logo.png" ]; then
        print_success "Logos actualizados"
    else
        print_warning "Logos no encontrados en destino"
    fi
    
    if [ -f "public/cd-project/img/favicon/favicon.ico" ]; then
        print_success "Favicons actualizados"
    else
        print_warning "Favicons no encontrados en destino"
    fi
    
    echo ""
    print_message "═══════════════════════════════════════════════════════════"
    print_message "Próximos pasos:"
    echo ""
    echo "  1. Verificar en navegador:"
    echo "     ${CYAN}php artisan serve${NC}"
    echo ""
    echo "  2. Commit de cambios (recomendado):"
    echo "     ${CYAN}git add public/cd-project/img/${NC}"
    echo "     ${CYAN}git commit -m 'feat: Actualizar assets del proyecto'${NC}"
    echo ""
    print_message "═══════════════════════════════════════════════════════════"
else
    print_error "Error al actualizar assets"
    exit 1
fi

