{% set variant = variant|default('') %} {% set isPreviewable = activeAsset.isImage() or 'pdf' == activeAsset.getFileType()|lower or activeAsset.getMime() starts with 'video' or activeAsset.getMime() starts with 'audio' %} {% macro renderPreviewContent(activeAsset, assetDownloadUrl) %} {% if activeAsset.isImage() %} {{ activeAsset.getTitle()|escape }} {% elseif 'pdf' == activeAsset.getFileType()|lower %} {% elseif activeAsset.getMime() starts with 'video' or activeAsset.getExtension() in ['mpg', 'mpeg', 'mp4', 'webm'] %} {% elseif activeAsset.getMime() starts with 'audio' or activeAsset.getExtension() in ['mp3', 'ogg', 'wav'] %} {% else %}
{{ 'mautic.asset.no_preview'|trans }}
{% endif %} {% endmacro %} {% if variant == 'interactive' %} {% if isPreviewable %}
{{ 'mautic.asset.asset.preview'|trans }}
{% if activeAsset.isImage() %}
{% include '@MauticCore/Helper/_tag.html.twig' with { tags: [ { label: 'mautic.asset.click_to_zoom', color: 'gray', size: 'sm' } ] } %}
{{ _self.renderPreviewContent(activeAsset, assetDownloadUrl) }}
{% elseif 'pdf' == activeAsset.getFileType()|lower %}
{% include '@MauticCore/Helper/_tag.html.twig' with { tags: [ { label: 'mautic.asset.click_to_view_full_size', color: 'gray', size: 'sm', attributes: { 'href': '#', 'data-toggle': 'modal', 'data-target': '#pdf-preview-modal' } } ] } %}
{{ _self.renderPreviewContent(activeAsset, assetDownloadUrl) }}
{% include '@MauticCore/Components/modal.html.twig' with { id: 'pdf-preview-modal', size: 'xl', type: 'productive', modalHeading: activeAsset.getTitle()|escape, modalAriaLabel: 'PDF Preview', modalContent: _self.renderPreviewContent(activeAsset, assetDownloadUrl), hasScrollingContent: false } %} {% else %} {{ _self.renderPreviewContent(activeAsset, assetDownloadUrl) }} {% endif %}
{% else %}
{{ 'mautic.asset.no_preview'|trans }}
{% endif %}
{% elseif variant == 'dialog' %} {% set modalId = 'asset-dialog-preview-modal-' ~ activeAsset.id|default('new') %} {% if isPreviewable %} {% include '@MauticCore/Components/tile.html.twig' with { type: 'mini', href: '#', title: 'mautic.asset.open_preview', icon: 'ri-rectangle-line', attributes: { 'data-toggle': 'modal', 'data-target': '#' ~ modalId } } %} {% endif %} {% include '@MauticCore/Components/modal.html.twig' with { id: modalId, size: 'xl', type: 'productive', modalHeading: activeAsset.getTitle()|escape, modalAriaLabel: 'mautic.asset.preview.ariaLabel'|trans({'%title%': activeAsset.getTitle()|escape}), modalContent: _self.renderPreviewContent(activeAsset, assetDownloadUrl) } %} {% else %} {{ _self.renderPreviewContent(activeAsset, assetDownloadUrl) }} {% endif %}