#!/bin/bash

# Script interactif pour concaténer et minimifier les fichiers CSS d'un dossier.

# --- Définition des couleurs pour une sortie plus lisible ---
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
CYAN='\033[0;36m'
NC='\033[0m' # Pas de couleur

# --- 1. Demande du dossier à l'utilisateur ---

echo -e "Quel dossier contient les fichiers CSS à compiler ?"
read -p "Entrez le chemin du dossier : " SOURCE_DIR

# Vérifie si l'utilisateur a entré une valeur
if [ -z "$SOURCE_DIR" ]; then
    echo -e "\n${RED}ERREUR : Aucun dossier n'a été spécifié. Abandon.${NC}"
    exit 1
fi

# Vérifie si le dossier spécifié existe
if [ ! -d "$SOURCE_DIR" ]; then
  echo -e "\n${RED}ERREUR : Le dossier '${SOURCE_DIR}' n'existe pas.${NC}"
  exit 1
fi

# --- 2. Vérification de la dépendance (cleancss) ---

if ! command -v cleancss &> /dev/null; then
    echo -e "\n${RED}ERREUR : La commande 'cleancss' est introuvable.${NC}"
    echo -e "Veuillez installer l'outil via npm en tapant :"
    echo -e "${YELLOW}npm install -g clean-css-cli${NC}"
    exit 1
fi

# --- 3. Définition des fichiers de sortie ---

OUTPUT_FILE="$SOURCE_DIR/style.min.css"
TEMP_CONCAT_FILE="$SOURCE_DIR/combined.tmp.css"

echo -e "\n${CYAN}Dossier source : ${SOURCE_DIR}${NC}"
echo -e "${CYAN}Fichier de sortie : ${OUTPUT_FILE}${NC}"
echo "-------------------------------------------"

# --- 4. Exécution ---

# Étape 1: Concaténer tous les fichiers .css du dossier
echo "1. Concaténation des fichiers .css..."
cat "$SOURCE_DIR"/*.css > "$TEMP_CONCAT_FILE"

# Vérifie si la concaténation a réussi avant de continuer
if [ $? -ne 0 ]; then
    echo -e "${RED}ERREUR lors de la concaténation. Aucun fichier .css trouvé ?${NC}"
    rm -f "$TEMP_CONCAT_FILE" # Nettoie le fichier temporaire s'il a été créé
    exit 1
fi

# Étape 2: Minimifier le fichier concaténé
echo "2. Minimification du fichier combiné..."
cleancss -o "$OUTPUT_FILE" "$TEMP_CONCAT_FILE"

# Étape 3: Nettoyer le fichier temporaire
echo "3. Nettoyage..."
rm "$TEMP_CONCAT_FILE"

echo "-------------------------------------------"
echo -e "${GREEN}✓ Succès ! Le fichier a été créé ici : ${OUTPUT_FILE}${NC}"
