#!/bin/bash

BASE="$(cd "$(dirname "$0")" && pwd)"

# CONFIG
RUTA_ARCHIVO="index.html"
PATRON_INSERCION="</main>"
MODO_INSERCION="before"   # before | after
VALIDACION="contactenos_form_inicio"

BLOQUE=$(cat <<'EOF'
    <!-- FORMULARIO DE CONTACTO HOME - antes del footer -->
    <div id="contactenos_form_inicio">
      {{contactenos_form_inicio}}
    </div>
EOF
)

for dir in "$BASE"/plantilla_*; do
  if [ -d "$dir" ] && [ "$(basename "$dir")" != "plantilla_original" ]; then
    
    FILE="$dir/$RUTA_ARCHIVO"
    
    if [ -f "$FILE" ]; then
        
        echo ""
        echo "======================================"
        echo "Archivo: $FILE"
        echo "Patrón: $PATRON_INSERCION"
        echo "Modo: $MODO_INSERCION"
        echo "======================================"

        # Validar duplicado
        if grep -q "$VALIDACION" "$FILE"; then
            echo "⚠ Ya contiene el bloque. Omitido."
            continue
        fi

        read -p "¿Aplicar cambio? (s/n/c): " resp

        if [[ "$resp" == "c" || "$resp" == "C" ]]; then
            echo "🚫 Cancelado"
            break
        fi

        if [[ "$resp" == "s" || "$resp" == "S" ]]; then
            
            cp "$FILE" "$FILE.bak"

            TMP_FILE=$(mktemp)

            if [ "$MODO_INSERCION" = "before" ]; then
                awk -v bloque="$BLOQUE" -v patron="$PATRON_INSERCION" '
                index($0, patron) {
                    print bloque
                }
                { print }
                ' "$FILE" > "$TMP_FILE"
            else
                awk -v bloque="$BLOQUE" -v patron="$PATRON_INSERCION" '
                {
                    print
                    if (index($0, patron)) {
                        print bloque
                    }
                }
                ' "$FILE" > "$TMP_FILE"
            fi

            mv "$TMP_FILE" "$FILE"

            chown siev:siev "$FILE"

            echo "✔ Insertado correctamente"
        else
            echo "✖ Omitido"
        fi

    else
        echo "✖ No existe: $FILE"
    fi

  fi
done

echo ""
echo "✅ Finalizado"