#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")/.."

FS_NAME=morele-flaresolverr
FS_IMAGE=ghcr.io/flaresolverr/flaresolverr:latest

if command -v docker >/dev/null 2>&1; then
  if ! docker ps --format '{{.Names}}' | grep -qx "$FS_NAME"; then
    if docker ps -a --format '{{.Names}}' | grep -qx "$FS_NAME"; then
      echo "[local-dev] Starting $FS_NAME…"
      docker start "$FS_NAME" >/dev/null
    else
      echo "[local-dev] Launching FlareSolverr on :8191…"
      docker run -d --name "$FS_NAME" -p 8191:8191 --restart unless-stopped "$FS_IMAGE" >/dev/null
    fi
  fi
  echo "[local-dev] Waiting for FlareSolverr…"
  for _ in $(seq 1 30); do
    if curl -sf "http://127.0.0.1:8191/v1" -H 'content-type: application/json' \
      -d '{"cmd":"sessions.list"}' >/dev/null 2>&1; then
      break
    fi
    sleep 1
  done
else
  echo "[local-dev] Docker not found — install Docker or run FlareSolverr manually on port 8191"
fi

export FLARESOLVERR_ENABLED=true
export FLARESOLVERR_URL=http://127.0.0.1:8191
exec npm run dev
