// Resources/scripts/suggest-page-loaded/suggest-page-loaded.twig
{% import 'include/spatial-preview-repository.twig' as spatialPreviewRepository %}

{% set page = hook.page %}
{# @var page \Shopware\Storefront\Page\Suggest\SuggestPage  #}

{% set permissionGranted = services.acl.can('ce_spatial_preview:read') %}

{% if permissionGranted %}
    {% set products = page.searchResult.entities %}
    {% set coverIds = products|map(product => product.cover.mediaId) %}
    {% set previewMedia = spatialPreviewRepository.getPreviewFromMedia(coverIds) %}

    {% for preview in previewMedia %}
        {% set product = products|filter(product => product.cover.media.id == preview.mediaId)|first %}
        {% if product is not null %}
            {% do product.cover.assign({'media': preview.preview}) %}
        {% endif %}
    {% endfor %}
{% endif %}
