{# # ============================================================================ # ATOM: LOGO # ============================================================================ # # Logo Bubul paramétrable avec deux variantes : # - detailed : Logo complet avec dégradés et effets visuels (landing, login) # - simple : Logo simplifié SVG (sidebar, favicon, header compact) # # Fichiers inclus dans cet atome : # - logo_detailed.html.twig : SVG du logo avec dégradés (220KB) # - logo_simple.html.twig : SVG du logo simple (55KB) # - logo-with-text.html.twig : Logo avec texte "Bubul" # # ============================================================================ # PARAMÈTRES # ============================================================================ # # | Paramètre | Type | Défaut | Description | # |-----------|---------|------------|---------------------------------------| # | variant | string | 'detailed' | Version: detailed, simple | # | size | string | 'md' | Taille: xs, sm, md, lg, xl, 2xl | # | class | string | '' | Classes additionnelles | # # ============================================================================ # EXEMPLES D'UTILISATION # ============================================================================ # # Logo détaillé (défaut): # {% include '_atoms/logo/logo.html.twig' %} # # Logo détaillé grande taille: # {% include '_atoms/logo/logo.html.twig' with { variant: 'detailed', size: 'xl' } %} # # Logo simple: # {% include '_atoms/logo/logo.html.twig' with { variant: 'simple', size: 'lg' } %} # # Logo avec texte (include direct): # {% include '_atoms/logo/logo-with-text.html.twig' with { showIcon: true, size: 'xl' } %} # # ============================================================================ #} {# ============================================================================ CONFIGURATION DES VALEURS PAR DÉFAUT ============================================================================ #} {% set variant = variant ?? 'detailed' %} {% set size = size ?? 'md' %} {% set class = class ?? '' %} {% set tint = tint ?? null %} {% set tintFilters = { 'cohorts': 'filter: sepia(1) saturate(5) hue-rotate(220deg) brightness(0.95)' } %} {% set tintStyle = tint and tintFilters[tint] ? tintFilters[tint] : '' %} {# ============================================================================ CLASSES TAILWIND - TAILLES (pour le container) ============================================================================ #} {% set sizeClasses = { 'xs': 'w-6 h-6', 'sm': 'w-8 h-8', 'md': 'w-12 h-12', 'lg': 'w-16 h-16', 'xl': 'w-24 h-24', '2xl': 'w-32 h-32', '3xl': 'w-48 h-48', '4xl': 'w-64 h-64', 'auto': 'w-full h-auto max-w-md' } %} {# ============================================================================ RENDU HTML ============================================================================ #} {# Si size='fluid', n'applique pas de taille fixe (utiliser class pour définir la taille) #} {% set appliedSizeClasses = size == 'fluid' ? '' : (sizeClasses[size] ?? sizeClasses['md']) %} {% if variant == 'detailed' %}
{% include '_atoms/logo/logo_detailed.html.twig' %}
{% else %}
{% include '_atoms/logo/logo_simple.html.twig' %}
{% endif %}