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

PROJECT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
PORT="31004"
RUNTIME_SCRIPT="/tmp/cyberbrain26-web-${PORT}-${USER}.sh"

command -v ttyd >/dev/null || {
  echo "❌ Chybí ttyd. Nainstaluj: sudo apt install ttyd"
  exit 1
}

command -v xfce4-terminal >/dev/null || {
  echo "❌ Chybí xfce4-terminal."
  exit 1
}

fuser -k "${PORT}/tcp" 2>/dev/null || true

cat > "${RUNTIME_SCRIPT}" <<RUNNER
#!/usr/bin/env bash
set -euo pipefail

cd "${PROJECT_DIR}"
echo "CyberBrain26 Web běží na: http://127.0.0.1:${PORT}"
echo "Webový terminál spustí: bash scripts/safe-oi"
echo "Toto okno nechej otevřené. Ctrl+C zastaví webový server."
echo

exec ttyd -W -p "${PORT}" -w "${PROJECT_DIR}" \\
  bash -lc 'cd "'"${PROJECT_DIR}"'" && exec bash scripts/safe-oi'
RUNNER

chmod 700 "${RUNTIME_SCRIPT}"

xfce4-terminal \
  --title="CyberBrain26 Web Server" \
  --execute bash "${RUNTIME_SCRIPT}" &

sleep 2

if ss -ltn | grep -q ":${PORT} "; then
  xdg-open "http://127.0.0.1:${PORT}" 2>/dev/null || true
  echo "✅ Webový terminál spuštěn: http://127.0.0.1:${PORT}"
else
  echo "⚠️ Terminál byl otevřen, ale port ${PORT} zatím neposlouchá."
  echo "   Zkontroluj nové okno 'CyberBrain26 Web Server'."
fi
