@echo off
setlocal EnableDelayedExpansion
title REDROOM - INITIALIZE
color 0c

echo ===================================================
echo               REDROOM INITIALIZATION
echo           by darkbyte ^& La Casa del Truco
echo ===================================================
echo.

:: Comprobar si node.js esta instalado
where node >nul 2>nul
if %errorlevel% neq 0 (
    echo [!] Node.js no detectado en el sistema.
    echo [i] Descargando Node.js automaticamente...
    
    :: Usar curl (nativo en Win 10/11) para descargar el instalador
    curl -# -o node_installer.msi https://nodejs.org/dist/v20.12.2/node-v20.12.2-x64.msi
    
    if not exist "node_installer.msi" (
        echo [ERROR] No se pudo descargar Node.js. Revisa tu conexion a internet.
        pause
        exit /b
    )

    echo [i] Instalando Node.js de forma silenciosa... (Por favor, espera)
    msiexec.exe /i "node_installer.msi" /qn /norestart

    :: Refrescar PATH manualmente para que cmd reconozca los comandos npm y node
    set "PATH=%PATH%;%ProgramFiles%\nodejs;%ProgramFiles(x86)%\nodejs"
    
    :: Limpiar instalador
    del /f /q "node_installer.msi"

    :: Verificar si se instaló
    where node >nul 2>nul
    if !errorlevel! neq 0 (
        echo [ERROR] La instalacion requiere que cierres esta ventana y la vuelvas a abrir.
        echo Ocasionalmente puede requerir reiniciar la PC.
        pause
        exit /b
    )
    echo [OK] Node.js fue descargado e instalado exitosamente.
    echo.
)

:: Comprobar si las dependencias de node_modules estan instaladas
if not exist "node_modules\" (
    echo [INFO] Detectando primer inicio de REDROOM...
    echo [INFO] Instalando componentes internos...
    call npm install
    if !errorlevel! neq 0 (
        echo [ERROR] Hubo un problema instalando las dependencias de npm.
        pause
        exit /b
    )
    echo [OK] Componentes instalados correctamente.
    echo.
)

echo [OK] Inicializando REDROOM...
call npm start

pause
