#!/usr/bin/env bash
# Lanceur d'Onde — demarre le serveur local et ouvre le navigateur.
set -euo pipefail

RACINE="${ONDE_HOME:-$HOME/.local/share/onde}"

if [[ ! -f "$RACINE/server.py" ]]; then
  echo "Onde n'est pas installe dans $RACINE" >&2
  exit 1
fi

manquants=()
command -v yt-dlp  >/dev/null 2>&1 || manquants+=("yt-dlp")
command -v ffmpeg  >/dev/null 2>&1 || manquants+=("ffmpeg")

if (( ${#manquants[@]} )); then
  echo "Dependances manquantes : ${manquants[*]}"
  echo "  sudo apt install ffmpeg -y"
  echo "  pipx install yt-dlp && pipx ensurepath"
  echo
fi

# Avec des arguments : mode console, pas de serveur.
if (( $# > 0 )); then
  exec python3 "$RACINE/server.py" "$@"
fi

# Si le serveur tourne deja, on ouvre juste l'onglet.
if ss -ltn 2>/dev/null | grep -q ':8765 '; then
  echo "Onde tourne deja — ouverture du navigateur."
  xdg-open "http://localhost:8765" >/dev/null 2>&1 || true
  exit 0
fi

ARCHIVE="$HOME/.local/share/onde/historique.txt"
if [[ -f "$ARCHIVE" ]]; then
  echo "Historique : $(wc -l < "$ARCHIVE") entree(s)"
fi

exec python3 "$RACINE/server.py"
