#!/bin/bash

# 尝试的端口列表
PORTS=(3000 3001 3007 3008 3009)

# 检查端口是否被占用
check_port() {
  local port=$1
  if nc -z localhost $port 2>/dev/null || curl -s http://localhost:$port >/dev/null 2>&1; then
    return 1  # 端口被占用
  else
    return 0  # 端口可用
  fi
}

# 查找可用端口
find_available_port() {
  for port in "${PORTS[@]}"; do
    if check_port $port; then
      echo $port
      return 0
    fi
  done

  # 如果预定义端口都被占用，随机选择一个
  echo $((3000 + RANDOM % 1000))
  return 0
}

# 查找可用端口
AVAILABLE_PORT=$(find_available_port)

echo "🚀 Starting dev server on port $AVAILABLE_PORT..."

# 启动开发服务器
npx next dev -H 0.0.0.0 -p $AVAILABLE_PORT
