from django import template

register = template.Library()

@register.simple_tag
def optimized_image(image_field, width=800, height=None):
    """
    Génère une URL Cloudinary optimisée.
    f_auto : Choisi le format le plus léger (WebP ou AVIF)
    q_auto : Compresse intelligemment sans perte visible
    w_...  : Redimensionne à la taille exacte du besoin
    """
    if not image_field:
        return ""
    
    try:
        url = image_field.url
        if "cloudinary.com" in url:
            # On insère les transformations après '/upload/'
            transformation = f"f_auto,q_auto,w_{width}"
            if height:
                transformation += f",h_{height},c_fill" # Coupe si hauteur spécifiée
            
            return url.replace("/upload/", f"/upload/{transformation}/")
        return url
    except ValueError:
        return ""