#!/bin/bash

# Script pour télécharger les images Google Maps en haute résolution
# Usage: ./scripts/download-high-res-images.sh

set -e

IMAGES_DIR="public/images"
RESOLUTION="1600x1200"  # Haute résolution

echo "=========================================="
echo "📥 Téléchargement images haute résolution"
echo "=========================================="
echo ""

# Fonction pour télécharger une image Google Maps en haute résolution
download_google_maps_image() {
    local image_url=$1
    local output_file=$2
    local place_name=$3
    
    echo "📸 Téléchargement: $place_name"
    
    # Extraire l'URL de l'image depuis l'URL Google Maps
    # Les URLs Google Maps contiennent souvent des paramètres w= et h= pour la taille
    # On va remplacer ces paramètres par des valeurs plus élevées
    
    # Si l'URL contient déjà des paramètres de taille, on les remplace
    if [[ $image_url == *"w="* ]] && [[ $image_url == *"h="* ]]; then
        # Remplacer w=XXX par w=1600 et h=YYY par h=1200
        high_res_url=$(echo "$image_url" | sed 's/w=[0-9]*/w=1600/g' | sed 's/h=[0-9]*/h=1200/g')
    else
        # Si pas de paramètres de taille, on essaie d'ajouter des paramètres
        # Note: Google Maps peut ne pas accepter tous les paramètres, donc on utilise l'URL telle quelle
        high_res_url="$image_url"
    fi
    
    # Télécharger l'image
    if curl -L -f -s "$high_res_url" -o "$output_file" 2>/dev/null; then
        # Vérifier que le fichier est valide
        if file "$output_file" | grep -q "image"; then
            local size=$(du -h "$output_file" | cut -f1)
            echo "   ✅ Téléchargé: $output_file ($size)"
            return 0
        else
            echo "   ❌ Fichier invalide: $output_file"
            rm -f "$output_file"
            return 1
        fi
    else
        echo "   ⚠️  Échec du téléchargement (URL peut-être invalide ou expirée)"
        return 1
    fi
}

# Liste des images Google Maps à télécharger en haute résolution
# Format: "URL_IMAGE|FICHIER_SORTIE|NOM_LIEU"

declare -a IMAGES=(
    # Ces URLs doivent être extraites depuis les liens Google Maps
    # Pour obtenir l'URL de l'image, il faut:
    # 1. Ouvrir le lien Google Maps dans un navigateur
    # 2. Faire un clic droit sur l'image > Inspecter l'élément
    # 3. Copier l'URL de l'image (généralement sur googleusercontent.com)
    # 4. Modifier les paramètres w= et h= pour augmenter la résolution
    
    # Exemple (à remplacer par les vraies URLs):
    # "https://lh3.googleusercontent.com/...w=1600-h=1200...|restaurant-requin-dormeur.jpg|Snack du Requin Dormeur"
)

if [ ${#IMAGES[@]} -eq 0 ]; then
    echo "⚠️  Aucune URL d'image configurée dans le script."
    echo ""
    echo "Pour télécharger des images en haute résolution:"
    echo "1. Ouvrez le lien Google Maps dans un navigateur"
    echo "2. Faites un clic droit sur l'image > Inspecter l'élément"
    echo "3. Copiez l'URL de l'image (généralement sur googleusercontent.com)"
    echo "4. Modifiez les paramètres w=XXX par w=1600 et h=YYY par h=1200"
    echo "5. Ajoutez l'URL dans le tableau IMAGES du script"
    echo ""
    echo "Exemple d'URL Google Maps image:"
    echo "https://lh3.googleusercontent.com/gps-cs-s/...w=1600-h=1200-k-no"
    exit 0
fi

# Créer le dossier images s'il n'existe pas
mkdir -p "$IMAGES_DIR"

# Télécharger chaque image
success_count=0
fail_count=0

for image_data in "${IMAGES[@]}"; do
    IFS='|' read -r url output_file place_name <<< "$image_data"
    
    output_path="$IMAGES_DIR/$output_file"
    
    if download_google_maps_image "$url" "$output_path" "$place_name"; then
        ((success_count++))
    else
        ((fail_count++))
    fi
    
    echo ""
done

echo "=========================================="
echo "✅ Téléchargement terminé"
echo "=========================================="
echo "✅ Succès: $success_count"
echo "❌ Échecs: $fail_count"
echo ""

