#!/bin/bash
# ================= MOMO 系統 - 快速 Code Review 腳本 =================
# 功能：快速觸發 Aider Code Review
# 使用方法：./quick_review.sh [檔案名稱...]
# 範例：./quick_review.sh app.py routes/sales_routes.py
# =======================================================================

# 顏色定義
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

# 獲取專案根目錄
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
CODE_REVIEW_SCRIPT="$PROJECT_ROOT/scripts/code_review.py"

# 顯示標題
echo -e "${BLUE}========================================${NC}"
echo -e "${BLUE}🔍 MOMO 系統 - Aider Code Review${NC}"
echo -e "${BLUE}========================================${NC}"

# 檢查Code Review腳本是否存在
if [ ! -f "$CODE_REVIEW_SCRIPT" ]; then
    echo -e "${RED}❌ Code Review腳本不存在: $CODE_REVIEW_SCRIPT${NC}"
    exit 1
fi

# 檢查Python環境
if ! command -v python3 &> /dev/null; then
    echo -e "${RED}❌ Python3未安裝${NC}"
    exit 1
fi

# 檢查Aider
if ! command -v aider &> /dev/null; then
    echo -e "${RED}❌ Aider未安裝或不在PATH中${NC}"
    exit 1
fi

# 顯示選單
if [ $# -eq 0 ]; then
    echo -e "${YELLOW}請選擇操作：${NC}"
    echo "1) 自動Review暫存檔案 (Git staged)"
    echo "2) Review所有變更檔案"
    echo "3) 指定檔案Review"
    echo "4) 安全檢查 (Security Review)"
    echo "5) 效能檢查 (Performance Review)"
    echo ""
    read -p "請輸入選項 (1-5): " choice
    
    case $choice in
        1)
            echo -e "${GREEN}🚀 開始自動Review暫存檔案...${NC}"
            python3 "$CODE_REVIEW_SCRIPT" --auto --type basic
            ;;
        2)
            echo -e "${GREEN}🚀 開始Review所有變更檔案...${NC}"
            python3 "$CODE_REVIEW_SCRIPT" --type basic
            ;;
        3)
            echo -e "${YELLOW}請輸入要Review的檔案路徑 (用空格分隔)：${NC}"
            read -r files_input
            if [ -n "$files_input" ]; then
                echo -e "${GREEN}🚀 開始Review指定檔案...${NC}"
                python3 "$CODE_REVIEW_SCRIPT" --files $files_input --type basic
            else
                echo -e "${RED}❌ 未指定檔案${NC}"
                exit 1
            fi
            ;;
        4)
            echo -e "${GREEN}🛡️ 開始安全檢查...${NC}"
            python3 "$CODE_REVIEW_SCRIPT" --auto --type security
            ;;
        5)
            echo -e "${GREEN}⚡ 開始效能檢查...${NC}"
            python3 "$CODE_REVIEW_SCRIPT" --auto --type performance
            ;;
        *)
            echo -e "${RED}❌ 無效選項${NC}"
            exit 1
            ;;
    esac
else
    # 有指定檔案，直接Review
    echo -e "${GREEN}🚀 開始Review指定檔案...${NC}"
    echo -e "${BLUE}檔案：$@${NC}"
    python3 "$CODE_REVIEW_SCRIPT" --files "$@" --type basic
fi

# 檢查執行結果
if [ $? -eq 0 ]; then
    echo -e "${GREEN}✅ Code Review 完成！${NC}"
    echo -e "${BLUE}📄 Review報告位置：$PROJECT_ROOT/logs/${NC}"
else
    echo -e "${RED}❌ Code Review 失敗！${NC}"
    exit 1
fi
