{% set c = module.content %} {% set s = module.style %} {% set o = module.overlay %} {% set b = module.behavior %} {% set spacing = module.spacing %} {% set a = module.advanced %} {# Build CSS classes #} {% set module_classes = "video-embed" %} {% set module_classes = module_classes ~ " video-embed--align-" ~ s.alignment %} {% set module_classes = module_classes ~ " video-embed--play-" ~ o.play_button_style %} {% if a.custom_class %} {% set module_classes = module_classes ~ " " ~ a.custom_class %} {% endif %} {# Determine thumbnail URL #} {% if c.poster_image and c.poster_image.src %} {% set poster_src = c.poster_image.src %} {% if '../../images/' in poster_src %} {% set poster_src = get_asset_url(poster_src) %} {% endif %} {% set poster_width = c.poster_image.width|default(1280) %} {% set poster_height = c.poster_image.height|default(720) %} {% elif c.video_source == "youtube" and c.video_id %} {% set poster_src = "https://img.youtube.com/vi/" ~ c.video_id ~ "/maxresdefault.jpg" %} {% set poster_width = 1280 %} {% set poster_height = 720 %} {% elif c.video_source == "vimeo" and c.video_id %} {# Vimeo requires API call for thumbnail, use placeholder pattern #} {% set poster_src = "" %} {% set poster_width = 1280 %} {% set poster_height = 720 %} {% endif %} {# Determine embed URL #} {% if c.video_source == "youtube" %} {% if b.privacy_mode %} {% set embed_domain = "www.youtube-nocookie.com" %} {% else %} {% set embed_domain = "www.youtube.com" %} {% endif %} {% set embed_url = "https://" ~ embed_domain ~ "/embed/" ~ c.video_id ~ "?autoplay=1&rel=0" %} {% elif c.video_source == "vimeo" %} {% set embed_url = "https://player.vimeo.com/video/" ~ c.video_id ~ "?autoplay=1" %} {% endif %} {# Facade: Thumbnail + Play button #} {% if poster_src %} {% else %} {# Fallback for Vimeo without custom thumbnail #} {{ c.title|escape }} {% endif %} {# Overlay #} {# Play button #} {% if o.play_button_style == "minimal" %} {% else %} {% endif %} {# Video embed container (populated on click) #} {% if c.caption %} {{ c.caption|escape }} {% endif %} {% require_css %} {% end_require_css %} {% require_js position="footer" defer=true %} {% end_require_js %}