#!/bin/bash
# Script para iniciar Chrome con remote debugging para este proyecto
# Cada proyecto tendrá su propia instancia de Chrome en un puerto único

PROJECT_NAME=$(basename $(pwd))
# Generar puerto único basado en el nombre del proyecto (9222-9322)
CHROME_PORT=$((9222 + $(echo $PROJECT_NAME | cksum | cut -d' ' -f1) % 100))
USER_DATA_DIR="/tmp/chrome-${PROJECT_NAME}"

echo "======================================"
echo "Iniciando Chrome para proyecto: $PROJECT_NAME"
echo "Puerto: $CHROME_PORT"
echo "User Data Dir: $USER_DATA_DIR"
echo "======================================"

# Matar instancias previas si existen
if lsof -Pi :${CHROME_PORT} -sTCP:LISTEN -t >/dev/null 2>&1; then
    echo "Matando proceso existente en puerto ${CHROME_PORT}..."
    pkill -f "remote-debugging-port=${CHROME_PORT}" || true
    sleep 1
fi

# Verificar si google-chrome está disponible
if ! command -v google-chrome &> /dev/null; then
    echo "ERROR: google-chrome no está instalado o no está en el PATH"
    echo "En WSL, podés usar: /mnt/c/Program\ Files/Google/Chrome/Application/chrome.exe"
    exit 1
fi

# Iniciar Chrome con remote debugging
google-chrome \
  --remote-debugging-port=${CHROME_PORT} \
  --user-data-dir="${USER_DATA_DIR}" \
  --no-first-run \
  --no-default-browser-check \
  > /dev/null 2>&1 &

CHROME_PID=$!

sleep 2

# Verificar que Chrome se inició correctamente
if ps -p $CHROME_PID > /dev/null; then
    echo "✓ Chrome iniciado exitosamente (PID: $CHROME_PID)"
    echo ""
    echo "Configuración MCP:"
    echo "  --browserUrl=http://localhost:${CHROME_PORT}"
    echo ""
    echo "Para detener Chrome:"
    echo "  pkill -f 'remote-debugging-port=${CHROME_PORT}'"
else
    echo "✗ Error al iniciar Chrome"
    exit 1
fi
