#!/bin/bash

# LM Studio Web - Stop Script

set -e

# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
BLUE='\033[0;34m'

echo -e "${BLUE}╔════════════════════════════════════════════════╗${NC}"
echo -e "${BLUE}║   LM Studio Web Chat - Arrêt                 ║${NC}"
echo -e "${BLUE}╚════════════════════════════════════════════════╝${NC}"

cd "$(dirname "$0")"

# Stop Web Server
if [ -f .web_server.pid ]; then
    SERVER_PID=$(cat .web_server.pid)
    if ps -p $SERVER_PID > /dev/null; then
        echo -e "${YELLOW}→ Arrêt du serveur web (PID $SERVER_PID)...${NC}"
        kill $SERVER_PID
        sleep 1
        rm -f .web_server.pid
        echo -e "   ${GREEN}✓ Serveur web arrêté${NC}"
    else
        echo -e "   ${YELLOW}⚠ Serveur web (PID $SERVER_PID) déjà arrêté${NC}"
        rm -f .web_server.pid
    fi
else
    # Try to find by port
    SERVER_PID=$(lsof -ti:8084)
    if [ -n "$SERVER_PID" ]; then
        echo -e "${YELLOW}→ Arrêt du serveur web (PID $SERVER_PID)...${NC}"
        kill $SERVER_PID
        sleep 1
        echo -e "   ${GREEN}✓ Serveur web arrêté${NC}"
    else
        echo -e "   ${YELLOW}⚠ Aucun serveur web trouvé sur le port 8084${NC}"
    fi
fi

# Stop MCP Server
cd backend 2>/dev/null || true
if [ -f .mcp_server.pid ]; then
    MCP_PID=$(cat .mcp_server.pid)
    if ps -p $MCP_PID > /dev/null; then
        echo -e "${YELLOW}→ Arrêt du serveur MCP (PID $MCP_PID)...${NC}"
        kill $MCP_PID
        sleep 1
        rm -f .mcp_server.pid
        echo -e "   ${GREEN}✓ Serveur MCP arrêté${NC}"
    else
        echo -e "   ${YELLOW}⚠ Serveur MCP (PID $MCP_PID) déjà arrêté${NC}"
        rm -f .mcp_server.pid
    fi
else
    # Try to find by port
    MCP_PID=$(lsof -ti:8085)
    if [ -n "$MCP_PID" ]; then
        echo -e "${YELLOW}→ Arrêt du serveur MCP (PID $MCP_PID)...${NC}"
        kill $MCP_PID
        sleep 1
        echo -e "   ${GREEN}✓ Serveur MCP arrêté${NC}"
    else
        echo -e "   ${YELLOW}⚠ Aucun serveur MCP trouvé sur le port 8085${NC}"
    fi
fi

echo ""
echo -e "${GREEN}Tous les services ont été arrêtés.${NC}"
echo ""
