#!/bin/bash
# Skript zum Prüfen der i18n-Fixes auf dem Server
# Führe dieses Skript auf dem Server aus: /var/www/tt-tagebuch.de/

echo "=== Prüfe i18n-Fixes auf dem Server ==="
echo ""

FRONTEND_DIR="${1:-/var/www/tt-tagebuch.de/frontend}"

if [ ! -d "$FRONTEND_DIR" ]; then
    echo "✗ Frontend-Verzeichnis nicht gefunden: $FRONTEND_DIR"
    exit 1
fi

echo "Prüfe Dateien in: $FRONTEND_DIR"
echo ""

# Prüfe TeamManagementView.vue
echo "1. TeamManagementView.vue:"
FILE="$FRONTEND_DIR/src/views/TeamManagementView.vue"
if [ -f "$FILE" ]; then
    if grep -q "const t = (key, params) => i18n.global.t" "$FILE"; then
        echo "   ✓ Enthält 'const t = (key, params) => i18n.global.t'"
    else
        echo "   ✗ Enthält NICHT 'const t = (key, params) => i18n.global.t'"
    fi
    
    if grep -q '\$t(' "$FILE"; then
        COUNT=$(grep -c '\$t(' "$FILE")
        echo "   ✗ Enthält noch $COUNT \$t() Aufrufe"
    else
        echo "   ✓ Enthält keine \$t() Aufrufe mehr"
    fi
    
    if grep -q "return {" "$FILE" && grep -A 30 "return {" "$FILE" | grep -q "^\s*t,"; then
        echo "   ✓ 't' ist im return Statement enthalten"
    else
        echo "   ✗ 't' ist NICHT im return Statement enthalten"
    fi
else
    echo "   ✗ Datei nicht gefunden: $FILE"
fi

echo ""

# Prüfe PermissionsView.vue
echo "2. PermissionsView.vue:"
FILE="$FRONTEND_DIR/src/views/PermissionsView.vue"
if [ -f "$FILE" ]; then
    if grep -q "const t = (key, params) => i18n.global.t" "$FILE"; then
        echo "   ✓ Enthält 'const t = (key, params) => i18n.global.t'"
    else
        echo "   ✗ Enthält NICHT 'const t = (key, params) => i18n.global.t'"
    fi
    
    if grep -q '\$t(' "$FILE"; then
        COUNT=$(grep -c '\$t(' "$FILE")
        echo "   ✗ Enthält noch $COUNT \$t() Aufrufe"
    else
        echo "   ✓ Enthält keine \$t() Aufrufe mehr"
    fi
    
    if grep -q "return {" "$FILE" && grep -A 30 "return {" "$FILE" | grep -q "^\s*t,"; then
        echo "   ✓ 't' ist im return Statement enthalten"
    else
        echo "   ✗ 't' ist NICHT im return Statement enthalten"
    fi
else
    echo "   ✗ Datei nicht gefunden: $FILE"
fi

echo ""

# Prüfe LogsView.vue
echo "3. LogsView.vue:"
FILE="$FRONTEND_DIR/src/views/LogsView.vue"
if [ -f "$FILE" ]; then
    if grep -q "const t = (key, params) => i18n.global.t" "$FILE"; then
        echo "   ✓ Enthält 'const t = (key, params) => i18n.global.t'"
    else
        echo "   ✗ Enthält NICHT 'const t = (key, params) => i18n.global.t'"
    fi
    
    if grep -q '\$t(' "$FILE"; then
        COUNT=$(grep -c '\$t(' "$FILE")
        echo "   ✗ Enthält noch $COUNT \$t() Aufrufe"
    else
        echo "   ✓ Enthält keine \$t() Aufrufe mehr"
    fi
    
    if grep -q "return {" "$FILE" && grep -A 30 "return {" "$FILE" | grep -q "^\s*t,"; then
        echo "   ✓ 't' ist im return Statement enthalten"
    else
        echo "   ✗ 't' ist NICHT im return Statement enthalten"
    fi
else
    echo "   ✗ Datei nicht gefunden: $FILE"
fi

echo ""

# Prüfe SeasonSelector.vue
echo "4. SeasonSelector.vue:"
FILE="$FRONTEND_DIR/src/components/SeasonSelector.vue"
if [ -f "$FILE" ]; then
    if grep -q "const t = (key, params) => i18n.global.t" "$FILE"; then
        echo "   ✓ Enthält 'const t = (key, params) => i18n.global.t'"
    else
        echo "   ✗ Enthält NICHT 'const t = (key, params) => i18n.global.t'"
    fi
    
    if grep -q '\$t(' "$FILE"; then
        COUNT=$(grep -c '\$t(' "$FILE")
        echo "   ✗ Enthält noch $COUNT \$t() Aufrufe"
    else
        echo "   ✓ Enthält keine \$t() Aufrufe mehr"
    fi
else
    echo "   ✗ Datei nicht gefunden: $FILE"
fi

echo ""

# Prüfe Build-Dateien
echo "5. Build-Dateien:"
DIST_DIR="$FRONTEND_DIR/dist/assets"
if [ -d "$DIST_DIR" ]; then
    BUILD_FILE=$(ls -t "$DIST_DIR"/index-*.js 2>/dev/null | head -1)
    if [ -n "$BUILD_FILE" ]; then
        echo "   Gefundene Build-Datei: $(basename $BUILD_FILE)"
        BUILD_TIME=$(stat -c %y "$BUILD_FILE" 2>/dev/null || stat -f %Sm "$BUILD_FILE" 2>/dev/null)
        echo "   Build-Zeit: $BUILD_TIME"
        
        # Prüfe, ob der Build die neuen Änderungen enthält
        # (minifizierter Code, daher schwer zu prüfen)
        if strings "$BUILD_FILE" | grep -q "i18n"; then
            echo "   ✓ Build enthält i18n-Referenzen"
        else
            echo "   ⚠ Build enthält keine i18n-Referenzen (möglicherweise minifiziert)"
        fi
    else
        echo "   ✗ Keine Build-Datei gefunden in $DIST_DIR"
    fi
else
    echo "   ✗ Dist-Verzeichnis nicht gefunden: $DIST_DIR"
fi

echo ""
echo "=== Prüfung abgeschlossen ==="
echo ""
echo "Hinweis: Falls die Dateien nicht aktualisiert sind, führe auf dem Server aus:"
echo "  cd /var/www/tt-tagebuch.de"
echo "  git pull origin main"
echo "  cd backend && npm install  # Erstellt automatisch den Frontend-Build"

