#!/bin/bash

# Farben
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m'

echo -e "${BLUE}═══════════════════════════════════════════════════════${NC}"
echo -e "${BLUE}    Flutter Tank App - Docker Deployment${NC}"
echo -e "${BLUE}═══════════════════════════════════════════════════════${NC}"
echo ""

# Prüfen ob Docker installiert ist
if ! command -v docker &> /dev/null; then
    echo -e "${RED}❌ Docker ist nicht installiert!${NC}"
    echo -e "${YELLOW}Installieren Sie Docker: https://docs.docker.com/get-docker/${NC}"
    exit 1
fi

if ! command -v docker-compose &> /dev/null; then
    echo -e "${RED}❌ Docker Compose ist nicht installiert!${NC}"
    echo -e "${YELLOW}Installieren Sie Docker Compose: https://docs.docker.com/compose/install/${NC}"
    exit 1
fi

echo -e "${GREEN}✅ Docker und Docker Compose gefunden${NC}"
echo ""

# Build Option
echo -e "${YELLOW}Wählen Sie eine Option:${NC}"
echo "1) Nur Flutter Web App bauen"
echo "2) Flutter Web App + Proxy Server bauen"
echo "3) Alles bauen und starten"
echo "4) Nur starten (ohne neu zu bauen)"
echo "5) Stoppen"
echo "6) Logs anzeigen"
read -p "Option (1-6): " option

case $option in
  1)
    echo -e "${BLUE}🔨 Baue Flutter Web App...${NC}"
    docker build -t flutter-tank-web:latest .
    echo -e "${GREEN}✅ Build abgeschlossen!${NC}"
    echo -e "${YELLOW}Zum Starten: docker run -p 8080:80 flutter-tank-web:latest${NC}"
    ;;
  2)
    echo -e "${BLUE}🔨 Baue alle Images...${NC}"
    docker-compose build
    echo -e "${GREEN}✅ Build abgeschlossen!${NC}"
    ;;
  3)
    echo -e "${BLUE}🔨 Baue und starte alle Services...${NC}"
    docker-compose up -d --build
    echo ""
    echo -e "${GREEN}✅ Services gestartet!${NC}"
    echo ""
    echo -e "${YELLOW}📡 Verfügbare Endpoints:${NC}"
    echo -e "   Flutter Web App: ${GREEN}http://localhost:8090${NC}"
    echo -e "   Proxy Server:    ${GREEN}http://localhost:3000${NC}"
    echo ""
    echo -e "${YELLOW}📊 Status prüfen:${NC}"
    docker-compose ps
    ;;
  4)
    echo -e "${BLUE}🚀 Starte Services...${NC}"
    docker-compose up -d
    echo -e "${GREEN}✅ Services gestartet!${NC}"
    docker-compose ps
    ;;
  5)
    echo -e "${BLUE}🛑 Stoppe Services...${NC}"
    docker-compose down
    echo -e "${GREEN}✅ Services gestoppt!${NC}"
    ;;
  6)
    echo -e "${BLUE}📋 Zeige Logs...${NC}"
    docker-compose logs -f
    ;;
  *)
    echo -e "${RED}❌ Ungültige Option${NC}"
    exit 1
    ;;
esac
