#!/usr/bin/env bash
# Pich2Pich Web — 一鍵離線啟動本機伺服器
# 用法：  ./start.sh [PORT]   （預設 8000）
set -e

cd "$(dirname "$0")"
PORT="${1:-8000}"

# 找 python
if command -v python3 >/dev/null 2>&1; then PY=python3
elif command -v python  >/dev/null 2>&1; then PY=python
else echo "找不到 python，請先安裝 Python 3。"; exit 1; fi

# 區網 IP（給另一支手機/裝置連）
LAN_IP=""
if command -v hostname >/dev/null 2>&1 && hostname -I >/dev/null 2>&1; then
  LAN_IP="$(hostname -I 2>/dev/null | awk '{print $1}')"
fi
if [ -z "$LAN_IP" ] && command -v ipconfig >/dev/null 2>&1; then
  LAN_IP="$(ipconfig getifaddr en0 2>/dev/null || true)"
fi
[ -z "$LAN_IP" ] && LAN_IP="<你的區網IP>"

echo "============================================"
echo " Pich2Pich Web 已啟動（完全離線可用）"
echo "  本機開啟：   http://localhost:${PORT}"
echo "  同網裝置：   http://${LAN_IP}:${PORT}"
echo ""
echo "  提示：兩支手機連同一個 Wi-Fi 或熱點，"
echo "        各自用瀏覽器開上面的『同網裝置』網址，"
echo "        到「連線」分頁用代碼或 QR 互貼即可離線對講。"
echo "  停止：Ctrl + C"
echo "============================================"

# 嘗試自動開瀏覽器（無頭環境會略過）
( command -v xdg-open >/dev/null 2>&1 && xdg-open "http://localhost:${PORT}" >/dev/null 2>&1 ) || \
( command -v open     >/dev/null 2>&1 && open     "http://localhost:${PORT}" >/dev/null 2>&1 ) || true

# 監聽 0.0.0.0 讓同網裝置可連
exec "$PY" -m http.server "$PORT" --bind 0.0.0.0
