#!/bin/bash
# Script zum Pushen von Code zu GitHub

echo "📤 Code zu GitHub pushen"
echo "========================"
echo ""

# Prüfe ob wir im richtigen Verzeichnis sind
if [ ! -f "pubspec.yaml" ]; then
    echo "❌ pubspec.yaml nicht gefunden!"
    echo "   Bitte führe das Script im Projektordner aus."
    exit 1
fi

# Prüfe ob Git initialisiert ist
if [ ! -d ".git" ]; then
    echo "📦 Initialisiere Git Repository..."
    git init
    git branch -M main
fi

# Prüfe ob Remote konfiguriert ist
if ! git remote get-url origin >/dev/null 2>&1; then
    echo "📋 GitHub Remote konfigurieren..."
    git remote add origin https://github.com/Timborimbo/hyggecraftery_APP.git
    echo "✅ Remote hinzugefügt"
fi

# Zeige Status
echo ""
echo "📊 Aktueller Status:"
git status --short

# Frage ob pushen
echo ""
read -p "Möchtest du alle Änderungen committen und pushen? (j/n): " PUSH

if [ "$PUSH" != "j" ] && [ "$PUSH" != "J" ] && [ "$PUSH" != "y" ] && [ "$PUSH" != "Y" ]; then
    echo "❌ Abgebrochen"
    exit 0
fi

# Alle Änderungen hinzufügen
echo ""
echo "📦 Füge Änderungen hinzu..."
git add .

# Commit erstellen
echo "💾 Erstelle Commit..."
COMMIT_MSG="${1:-Update: $(date +'%Y-%m-%d %H:%M:%S')}"
git commit -m "$COMMIT_MSG" || {
    echo "⚠️  Keine Änderungen zu committen"
    exit 0
}

# Pushen
echo ""
echo "📤 Pushe zu GitHub..."
echo ""

# Versuche mit gespeicherten Credentials zu pushen
git push origin main

# Falls das fehlschlägt, zeige Hinweis
if [ $? -ne 0 ]; then
    echo ""
    echo "⚠️  Push fehlgeschlagen. Mögliche Ursachen:"
    echo ""
    echo "1. Token nicht gespeichert:"
    echo "   Beim ersten Push wirst du nach Credentials gefragt:"
    echo "   - Username: Timborimbo"
    echo "   - Password: Dein Personal Access Token (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)"
    echo ""
    echo "2. Token in Git speichern (einmalig):"
    echo "   git config --global credential.helper osxkeychain"
    echo ""
    echo "3. Dann erneut pushen:"
    echo "   git push origin main"
    echo ""
    exit 1
fi

if [ $? -eq 0 ]; then
    echo ""
    echo "✅ Code erfolgreich zu GitHub gepusht!"
    echo ""
    echo "📋 Nächste Schritte:"
    echo "   1. Gehe zu Coolify Dashboard"
    echo "   2. Klicke auf 'Redeploy' in deiner Application"
    echo "   3. Coolify holt den neuen Code von GitHub"
else
    echo ""
    echo "❌ Fehler beim Pushen!"
    echo ""
    echo "Mögliche Ursachen:"
    echo "  - Falsche Credentials"
    echo "  - Token abgelaufen"
    echo "  - Keine Internetverbindung"
    echo ""
    echo "Lösung:"
    echo "  - Prüfe deinen Personal Access Token"
    echo "  - Erstelle einen neuen Token falls nötig"
    exit 1
fi

