#!/bin/bash

# Script de test pour les notifications de tickets support
# Ce script vérifie que tous les fichiers sont en place et correctement configurés

echo "🔍 Vérification des fichiers..."
echo ""

# Couleurs
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

# Fonction de vérification
check_file() {
    if [ -f "$1" ]; then
        echo -e "${GREEN}✅${NC} $1"
        return 0
    else
        echo -e "${RED}❌${NC} $1"
        return 1
    fi
}

# Vérifier les fichiers
echo "📁 Vérification de la structure des fichiers API:"
check_file "app/api/tickets/[id]/recipient-info/route.ts"
check_file "app/api/tickets/[id]/messages/route.ts"
echo ""

echo "📁 Vérification des composants:"
check_file "components/staff/StaffTicketActions.tsx"
check_file "components/staff/TicketReplyConfirmationModal.tsx"
echo ""

echo "📁 Vérification des pages:"
check_file "app/(app)/staff/tickets/[id]/page.tsx"
echo ""

echo "📁 Vérification des helpers:"
check_file "lib/emailMigrationHelpers.ts"
check_file "lib/emailTemplateService.ts"
echo ""

echo "🔍 Vérification du contenu de recipient-info/route.ts..."
if grep -q "display_name" "app/api/tickets/[id]/recipient-info/route.ts"; then
    echo -e "${GREEN}✅${NC} Le code vérifie bien 'display_name' en priorité"
else
    echo -e "${RED}❌${NC} Le code ne vérifie pas 'display_name'"
fi

if grep -q "console.log.*recipient-info" "app/api/tickets/[id]/recipient-info/route.ts"; then
    echo -e "${GREEN}✅${NC} Les logs de debug sont présents"
else
    echo -e "${YELLOW}⚠️${NC}  Les logs de debug sont absents"
fi
echo ""

echo "🔍 Vérification du contenu de page.tsx..."
if grep -q "display_name" "app/(app)/staff/tickets/[id]/page.tsx"; then
    echo -e "${GREEN}✅${NC} Le code vérifie bien 'display_name' en priorité"
else
    echo -e "${RED}❌${NC} Le code ne vérifie pas 'display_name'"
fi

if grep -q "console.log.*ticket page" "app/(app)/staff/tickets/[id]/page.tsx"; then
    echo -e "${GREEN}✅${NC} Les logs de debug sont présents"
else
    echo -e "${YELLOW}⚠️${NC}  Les logs de debug sont absents"
fi
echo ""

echo "🔍 Vérification du contenu de StaffTicketActions.tsx..."
if grep -q "recipient-info" "components/staff/StaffTicketActions.tsx"; then
    echo -e "${GREEN}✅${NC} Le composant appelle bien l'API recipient-info"
else
    echo -e "${RED}❌${NC} Le composant n'appelle pas l'API recipient-info"
fi

if grep -q "console.log.*StaffTicketActions" "components/staff/StaffTicketActions.tsx"; then
    echo -e "${GREEN}✅${NC} Les logs de debug sont présents"
else
    echo -e "${YELLOW}⚠️${NC}  Les logs de debug sont absents"
fi
echo ""

echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo -e "${YELLOW}📝 Pour tester:${NC}"
echo "1. Redémarrer le serveur: npm run dev"
echo "2. Ouvrir la console du navigateur (F12)"
echo "3. Aller sur une page /staff/tickets/[id]"
echo "4. Regarder les logs dans la console navigateur ET dans le terminal"
echo ""
echo -e "${YELLOW}🔍 Logs à surveiller dans le terminal:${NC}"
echo "   📋 [ticket page] User metadata: {...}"
echo "   📋 [recipient-info] User metadata: {...}"
echo ""
echo -e "${YELLOW}🔍 Logs à surveiller dans la console navigateur:${NC}"
echo "   🔍 [StaffTicketActions] Fetching recipient info for ticket: ..."
echo "   ✅ [StaffTicketActions] Recipient info: {...}"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
