#!/bin/bash
# ╔══════════════════════════════════════════════════════════════════╗
# ║   Discord Guard Dashboard — cPanel Durum Kontrol Scripti        ║
# ╚══════════════════════════════════════════════════════════════════╝

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

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PID_FILE="$SCRIPT_DIR/.app.pid"
LOG_FILE="$SCRIPT_DIR/logs/app.log"
ERROR_FILE="$SCRIPT_DIR/logs/error.log"

# .env yükle
if [ -f "$SCRIPT_DIR/.env" ]; then
  set -a; source "$SCRIPT_DIR/.env"; set +a
fi
APP_PORT="${PORT:-3000}"

echo ""
echo -e "${CYAN}${BOLD}════════════════════════════════════════${NC}"
echo -e "${CYAN}${BOLD}  Discord Guard Dashboard — Durum${NC}"
echo -e "${CYAN}${BOLD}════════════════════════════════════════${NC}"
echo ""

# Süreç Durumu
if [ -f "$PID_FILE" ]; then
  PID=$(cat "$PID_FILE")
  if kill -0 "$PID" 2>/dev/null; then
    # Süreç bilgilerini al
    UPTIME=""
    if command -v ps &>/dev/null; then
      UPTIME=$(ps -o etime= -p "$PID" 2>/dev/null | tr -d ' ' || echo "?")
      MEM=$(ps -o rss= -p "$PID" 2>/dev/null || echo "?")
      MEM_MB=$((${MEM:-0} / 1024))
    fi
    echo -e "  Durum  : ${GREEN}${BOLD}● ÇALIŞIYOR${NC}"
    echo -e "  PID    : ${CYAN}$PID${NC}"
    echo -e "  Uptime : ${CYAN}${UPTIME:-?}${NC}"
    echo -e "  Bellek : ${CYAN}${MEM_MB}MB${NC}"
  else
    echo -e "  Durum  : ${RED}${BOLD}✗ DURDU (eskimiş PID)${NC}"
    rm -f "$PID_FILE"
  fi
else
  echo -e "  Durum  : ${RED}${BOLD}✗ ÇALIŞMIYOR${NC}"
fi

echo ""
echo -e "  Port   : ${CYAN}$APP_PORT${NC}"
echo -e "  Ortam  : ${CYAN}${NODE_ENV:-production}${NC}"
echo ""

# Log boyutları
if [ -f "$LOG_FILE" ]; then
  LOG_SIZE=$(du -sh "$LOG_FILE" 2>/dev/null | cut -f1)
  echo -e "  App Log   : logs/app.log (${LOG_SIZE})"
fi
if [ -f "$ERROR_FILE" ]; then
  ERR_SIZE=$(du -sh "$ERROR_FILE" 2>/dev/null | cut -f1)
  echo -e "  Error Log : logs/error.log (${ERR_SIZE})"
fi

# Son 5 hata log satırı
echo ""
if [ -f "$ERROR_FILE" ] && [ -s "$ERROR_FILE" ]; then
  echo -e "${YELLOW}  Son Hatalar (son 5 satır):${NC}"
  echo -e "${RED}$(tail -5 "$ERROR_FILE" | sed 's/^/    /')${NC}"
else
  echo -e "  ${GREEN}Hata logu temiz ✔${NC}"
fi

echo ""
echo -e "${CYAN}${BOLD}════════════════════════════════════════${NC}"
echo -e "  Komutlar:"
echo -e "    ./cpanel_start.sh  → Başlat/Yeniden Başlat"
echo -e "    ./cpanel_stop.sh   → Durdur"
echo -e "    tail -f logs/app.log  → Canlı Log"
echo -e "${CYAN}${BOLD}════════════════════════════════════════${NC}"
echo ""
