#!/bin/bash
VER="0.5"
RES="$(cd "$(dirname "$0")" && pwd)"
SUP="$HOME/Library/Application Support/Babofkator"
VENV="$SUP/venv"

clear
echo "=================================================="
echo "   Bábofkátor $VER — první spuštění"
echo "=================================================="
echo
echo "Jednorázově se stáhnou výpočetní knihovny (~300 MB)."
echo "Instaluje se pouze do:"
echo "   $SUP"
echo "Systémový Python se nijak nemění."
echo

PY=""
for c in python3.13 python3.12 python3.11 python3.10 python3; do
  if command -v "$c" >/dev/null 2>&1; then
    V=$("$c" -c 'import sys;print("%d%02d"%sys.version_info[:2])' 2>/dev/null)
    if [ -n "$V" ] && [ "$V" -ge 309 ]; then PY=$(command -v "$c"); break; fi
  fi
done

if [ -z "$PY" ]; then
  echo "NENAŠEL JSEM PYTHON 3.9 NEBO NOVĚJŠÍ."
  echo
  echo "Otevřu stránku s instalátorem. Stáhni «macOS 64-bit universal2»,"
  echo "nainstaluj a pak spusť Bábofkátor znovu."
  echo
  read -r -p "Enter pro otevření stránky…" _
  open "https://www.python.org/downloads/macos/"
  exit 1
fi

echo "Používám: $PY  ($("$PY" --version 2>&1))"
mkdir -p "$SUP"
if [ ! -x "$VENV/bin/python" ]; then
  echo "→ vytvářím prostředí…"
  "$PY" -m venv "$VENV" || { echo; echo "CHYBA při vytváření prostředí."; read -r -p "Enter…" _; exit 1; }
fi

echo "→ instaluji knihovny…"
"$VENV/bin/python" -m pip install --upgrade pip >/dev/null
"$VENV/bin/python" -m pip install -r "$RES/app/requirements.txt" || {
  echo; echo "CHYBA při instalaci knihoven."; read -r -p "Enter…" _; exit 1; }

echo "→ nativní okno aplikace (nepovinné)…"
"$VENV/bin/python" -m pip install pywebview >/dev/null 2>&1 && \
  echo "   nativní okno k dispozici" || \
  echo "   nepovedlo se — rozhraní se otevře v prohlížeči (funguje stejně)"

echo "→ zkouška…"
PYTHONPATH="$RES/app" "$VENV/bin/python" -c \
  "import babofkator,numpy,scipy,flask,matplotlib;print('   Bábofkátor',babofkator.__version__,'připraven')" || {
  echo; echo "CHYBA při zkoušce."; read -r -p "Enter…" _; exit 1; }

# pohodlný příkaz do Terminálu
cat > "$SUP/babofkator" <<CLI
#!/bin/bash
export PYTHONPATH="$RES/app"
exec "$VENV/bin/python" -m babofkator "\$@"
CLI
chmod +x "$SUP/babofkator"

touch "$SUP/.nainstalovano-$VER"
echo
echo "Hotovo. Spouštím Bábofkátor…"
open "$RES/../.."
sleep 2
exit 0
