#!/bin/bash

echo "=== YourPart Frontend Deployment ==="

# 1. Zum Frontend-Verzeichnis wechseln
cd frontend

# 2. Berechtigungen für dist-Verzeichnis korrigieren (falls vorhanden)
if [ -d "dist" ]; then
    echo "Korrigiere Berechtigungen für dist-Verzeichnis..."
    sudo chown -R $USER:$USER dist/ 2>/dev/null || true
fi

# 3. Alle generierten Verzeichnisse löschen
echo "Lösche alle generierten Verzeichnisse..."
rm -rf dist/
rm -rf node_modules/.vite/
rm -rf node_modules/.cache/

# 4. Server-Umgebungsvariablen kopieren
echo "Kopiere Server-Umgebungsvariablen..."
cp .env.server .env

# 5. Umgebungsvariablen in .env Datei setzen
echo "Setze Umgebungsvariablen..."
echo "VITE_DAEMON_SOCKET=wss://www.your-part.de/ws" >> .env
echo "VITE_CHAT_WS_URL=wss://www.your-part.de:1235" >> .env

# 6. Frontend neu bauen mit Umgebungsvariablen
echo "Baue Frontend neu..."
VITE_DAEMON_SOCKET=wss://www.your-part.de:4551 VITE_CHAT_WS_URL=wss://www.your-part.de:1235 npm run build

if [ $? -ne 0 ]; then
    echo "❌ Build fehlgeschlagen!"
    exit 1
fi

echo "✅ Build erfolgreich!"

# 6. Zielverzeichnis erstellen (falls nicht vorhanden)
echo "Erstelle Zielverzeichnis..."
sudo mkdir -p /opt/yourpart/frontend/dist

# 7. Altes Frontend löschen
echo "Lösche altes Frontend..."
sudo rm -rf /opt/yourpart/frontend/dist

# 8. Zielverzeichnis neu erstellen
echo "Erstelle Zielverzeichnis neu..."
sudo mkdir -p /opt/yourpart/frontend/dist

# 9. Neues Frontend kopieren
echo "Kopiere neues Frontend..."
sudo cp -r dist/* /opt/yourpart/frontend/dist/

# 10. .env Datei kopieren
echo "Kopiere .env Datei..."
sudo cp .env /opt/yourpart/frontend/

# 11. Berechtigungen setzen
echo "Setze Berechtigungen..."
sudo chown -R www-data:www-data /opt/yourpart/frontend/dist
sudo chown www-data:www-data /opt/yourpart/frontend/.env
sudo chmod -R 755 /opt/yourpart/frontend/dist
sudo chmod 644 /opt/yourpart/frontend/.env


# 12. Apache neu laden
echo "Lade Apache neu..."
sudo systemctl reload apache2

echo ""
echo "=== Frontend Deployment abgeschlossen! ==="
echo "✅ Frontend neu gebaut"
echo "✅ Frontend deployt"
echo "✅ Apache neu geladen"
echo ""
echo "Testen Sie jetzt die Anwendung!"
echo "API-Requests sollten jetzt an /api/... gehen statt localhost:3001"
