Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | 1x | @if (lineItems$ | async; as lineItems) {
<div class="product-rows-block">
@if (basketError$ | async; as basketError) {
<ish-basket-error-message [error]="basketError" cssClass="text-danger" />
} @for (lineItem of lineItems | slice : 0 : maxItemNumber; track lineItem.id) {
<div class="product-row">
<ng-container ishProductContext [sku]="lineItem.productSKU">
<div class="mini-product-img">
<ish-product-image imageType="S" [link]="true" />
</div>
<div class="mini-product-info">
<ish-product-name />
<div class="product-price">{{ lineItem.price | ishPrice }}</div>
<div class="cart-pli-data">
<span>{{ 'shopping_cart.pli.qty.label' | translate }}</span> {{ lineItem.quantity.value }}
</div>
</div>
</ng-container>
</div>
} @if (maxItemNumber && lineItems.length >= maxItemNumber + 1) {
<div class="alert alert-info mb-0" data-testing-id="show-all-cart-items-hint">
{{ 'shopping_cart.ministatus.show_all_items.text' | translate }}
</div>
}
</div>
<div class="d-grid">
<a class="view-cart btn btn-primary btn-lg" routerLink="/basket">
{{ 'shopping_cart.ministatus.view_cart.link' | translate }}
</a>
</div>
} @else { @if (basketError$ | async; as basketError) {
<ish-basket-error-message [error]="basketError" cssClass="text-danger" />
}
{{ 'shopping_cart.ministatus.empty_cart.text' | translate }}
}
|