#!/usr/bin/env bash
set -euo pipefail

if [[ $# -lt 1 || $# -gt 2 ]]; then
  echo "Uso: $0 URL [CARPETA_DESTINO]" >&2
  exit 2
fi

url="$1"
output_dir="${2:-$HOME/Downloads}"

case "$url" in
  http://*|https://*) ;;
  *)
    echo "Error: la URL debe comenzar con http:// o https://" >&2
    exit 2
    ;;
esac

if ! command -v yt-dlp >/dev/null 2>&1; then
  echo "Error: yt-dlp no está instalado o no está disponible en PATH." >&2
  exit 127
fi

mkdir -p "$output_dir"

args=(
  --no-playlist
  --no-overwrites
  --continue
  --restrict-filenames
  --trim-filenames 180
  --format "bv*+ba/b"
  --merge-output-format mp4
  --remux-video mp4
  --embed-metadata
  --embed-thumbnail
  --print "after_move:SAVED_PATH=%(filepath)s"
  --output "$output_dir/%(title).150B [%(id)s].%(ext)s"
)

if [[ -n "${DESCARGAR_VIDEO_NAVEGADOR:-}" ]]; then
  args+=(--cookies-from-browser "$DESCARGAR_VIDEO_NAVEGADOR")
fi

yt-dlp "${args[@]}" "$url"
