#!/bin/bash
cd "$(dirname "$0")" || exit 1

PORT=8765
while lsof -iTCP:"$PORT" -sTCP:LISTEN >/dev/null 2>&1; do
  PORT=$((PORT + 1))
  if [ "$PORT" -gt 8799 ]; then
    osascript -e 'display alert "千年白鹤梁" message "无法找到可用的本地端口，请关闭其他本地服务后重试。"'
    exit 1
  fi
done

URL="http://127.0.0.1:$PORT/"
echo "$PORT" > .server-port
open "$URL"

echo
echo "============================================"
echo "  千年白鹤梁数字展示网站"
echo "============================================"
echo
echo "网站已成功启动，浏览器将自动打开。"
echo "访问地址：$URL"
echo "参观结束后，关闭此窗口或按 Control+C 即可停止网站。"
echo

cleanup() {
  rm -f .server-port
}
trap cleanup EXIT INT TERM

if command -v python3 >/dev/null 2>&1; then
  python3 server-mac.py "$PORT" website
elif command -v perl >/dev/null 2>&1; then
  perl server-mac.pl "$PORT" website
else
  osascript -e 'display alert "千年白鹤梁" message "此 Mac 缺少 Python 3 或 Perl，无法启动本地网站服务。"'
  exit 1
fi
