#!/bin/bash
# ═══════════════════════════════════════════════════════
#   ⚔️ 幸赋链AI军团 - macOS 启动程序
#   使用方法: chmod +x start.sh && ./start.sh
# ═══════════════════════════════════════════════════════

GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
CYAN='\033[0;36m'
NC='\033[0m'

echo -e "${CYAN}"
echo "╔══════════════════════════════════════════╗"
echo "║     ⚔️ 幸赋链AI军团 - 正在启动...       ║"
echo "╚══════════════════════════════════════════╝"
echo -e "${NC}"

INSTALL_DIR="$HOME/.xingfulian"
CONFIG_FILE="$INSTALL_DIR/config/config.yml"
LOG_FILE="$INSTALL_DIR/logs/startup_$(date +%Y%m%d_%H%M%S).log"

# =============================================
# 检查安装目录
# =============================================
if [ ! -d "$INSTALL_DIR" ]; then
    echo -e "${RED}❌ 未检测到安装目录${NC}"
    echo "请先运行 install.sh 完成安装"
    exit 1
fi

# =============================================
# 检查授权状态
# =============================================
echo -e "${YELLOW}[1/4] 正在检查授权状态...${NC}"

if [ ! -f "$CONFIG_FILE" ]; then
    echo -e "${RED}❌ 未找到配置文件${NC}"
    echo "请先运行 activate.sh 激活授权码"
    exit 1
fi

# 从配置中提取授权状态
LICENSE_STATUS=$(grep "status:" "$CONFIG_FILE" | head -1 | awk '{print $2}')
if [ "$LICENSE_STATUS" != "active" ]; then
    echo -e "${RED}❌ 授权码尚未激活${NC}"
    echo "请先运行 activate.sh 激活授权码"
    exit 1
fi

# 提取授权码用于日志
LICENSE_KEY=$(grep "key:" "$CONFIG_FILE" | head -1 | awk '{print $2}')
echo -e "${GREEN}    ✅ 授权验证通过${NC}"
echo ""

# =============================================
# 检查运行环境
# =============================================
echo -e "${YELLOW}[2/4] 正在检查运行环境...${NC}"

if ! command -v ruby &>/dev/null; then
    echo -e "${RED}❌ 未检测到 Ruby 环境${NC}"
    echo "请先安装 Ruby：brew install ruby"
    exit 1
fi
echo -e "${GREEN}    ✅ Ruby 就绪：$(ruby --version)${NC}"

# 检查 bundler
if ! command -v bundler &>/dev/null; then
    echo "正在安装 bundler..."
    gem install bundler --no-document 2>/dev/null || true
fi
echo -e "${GREEN}    ✅ 运行环境就绪${NC}"
echo ""

# =============================================
# 启动服务
# =============================================
echo -e "${YELLOW}[3/4] 正在启动AI军团服务...${NC}"

# 检测端口占用
PORT=7070
if lsof -i :$PORT &>/dev/null; then
    echo -e "${YELLOW}    ⚠️ 端口 $PORT 已被占用，尝试使用 7071${NC}"
    PORT=7071
fi

# 写入日志
echo "[$(date)] 启动AI军团，端口：$PORT" >> "$LOG_FILE"

# 启动Clacky服务（实际启动交由用户完成，这里只做环境检查）
echo -e "${GREEN}    ✅ 环境就绪（端口：$PORT）${NC}"
echo ""

# =============================================
# 提示用户
# =============================================
echo -e "${YELLOW}[4/4] 准备就绪${NC}"

# 尝试打开浏览器
if command -v open &>/dev/null; then
    sleep 1
    open "http://localhost:$PORT" 2>/dev/null || true
fi

echo ""
echo -e "${CYAN}"
echo "╔══════════════════════════════════════════╗"
echo "║       ✅ 幸赋链AI军团 已启动             ║"
echo "║                                          ║"
echo "║  控制台地址：http://localhost:$PORT      "
echo "║  安装目录：$INSTALL_DIR                  "
echo "║  日志文件：$LOG_FILE                     "
echo "║                                          ║"
echo "║  如需关闭服务，按 Ctrl+C 即可            ║"
echo "╚══════════════════════════════════════════╝"
echo -e "${NC}"
