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

{% set page = hook.page %}
{# @var page \Shopware\Storefront\Page\Checkout\Offcanvas\OffcanvasCartPage #}

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

{% if permissionGranted and lineItems|length > 0 %}
    {% set coverIds = lineItems|map(item => item.cover.id) %}
    {% set previewMedia = spatialPreviewRepository.getPreviewFromMedia(coverIds) %}

    {% for preview in previewMedia %}
        {% set lineItem = lineItems|filter(item => item.cover.id == preview.mediaId)|first %}

        {% if lineItem %}
            {% do lineItem.assign({'cover': preview.preview}) %}
        {% endif %}
    {% endfor %}
{% endif %}
