{% sw_extends '@Storefront/storefront/layout/header/header.html.twig' %}
{# moved outside of container div because of full width #}
{% block layout_top_bar %}
{% endblock %}
{% block layout_header_logo %}
<!-- script type="application/javascript" src="https://privacy-proxy.usercentrics.eu/latest/uc-block.bundle.js"></script -->
<div class="col-6 col-md-4 col-lg-auto header-logo-col order-1">
{% sw_include '@Storefront/storefront/layout/header/logo.html.twig' %}
</div>
{% endblock %}
{% block layout_header_search %}
<div class="col-12 col-md-5 col-lg order-3 order-md-2 order-lg-2 header-search-col">
<div class="row">
<div class="col">
{% sw_include '@Storefront/storefront/layout/header/search.html.twig' %}
</div>
</div>
</div>
{% endblock %}
{% block layout_header_actions %}
<div class="col-6 col-md-3 col-lg-auto order-1 order-md-3 header-actions-col">
<div class="row {{ gridNoGuttersClass }} justify-content-end align-items-center">
{% block layout_header_navigation_toggle %}
{% endblock %}
{% block layout_header_actions_account %}
{% if doncarneConfig.beefClubCategory and doncarneConfig.beefClubPortalCategory and doncarneConfig.beefClubImage %}
{% set imageId = doncarneConfig.beefClubImage %}
{% set mediaCollection = searchMedia([imageId], context.context) %}
{% set media = mediaCollection.get(imageId) %}
{% set category = doncarneConfig.beefClubCategory %}
{% if context.customer and context.customer.groupId == doncarneConfig.beefClubCustomerGroup %}
{% set category = doncarneConfig.beefClubPortalCategory %}
{% endif %}
<a class="d-block header-beef-club" href="{{ seoUrl('frontend.navigation.page', { navigationId: category }) }}" title="Don Carne Beef Club">
<img class="img-fluid" src="{{media.url}}" alt="Don Carne Beef Club">
</a>
{% endif %}
<div class="col-auto">
<div class="account-menu">
{% sw_include '@Storefront/storefront/layout/header/actions/account-widget.html.twig' %}
</div>
</div>
{% endblock %}
{% if config('core.cart.wishlistEnabled') %}
{% block layout_header_actions_wishlist %}
{{ parent() }}
{% endblock %}
{% endif %}
{% block layout_header_actions_cart %}
{{ parent() }}
<div class="col-auto d-lg-none">
<div class="menu-button">
{% block layout_header_navigation_toggle_button %}
<button class="btn nav-main-toggle-btn header-actions-btn pb-0"
type="button"
data-offcanvas-menu="true"
aria-label="{{ "general.menuLink"|trans|striptags }}">
{% block layout_header_navigation_toggle_button_icon %}
{% sw_icon 'stack' %}
{% endblock %}
<span class="d-block text-primary font-weight-normal menu-icon-title">{{ "menu.title"|trans|sw_sanitize|upper }}</span>
</button>
{% endblock %}
</div>
</div>
{% endblock %}
</div>
</div>
{# moved to main.js javascript file
<!-- clerk ratings {literal} -->
<script>
async function fetchRating(sku) {
try {
const response = await fetch(`https://doncarne.de/product-rating/${sku}`);
const html = await response.text();
const parser = new DOMParser();
const doc = parser.parseFromString(html, 'text/html');
const ratingElement = doc.querySelector('.product-review-rating__details');
const rating = ratingElement ? ratingElement.textContent.trim() : '';
const starsElement = doc.querySelector('.product-review-rating');
const stars = starsElement ? starsElement.innerHTML : '';
return { rating, stars };
} catch (error) {
console.error('Error fetching rating for SKU:', sku, error);
return { rating: '', stars: '' };
}
}
async function fetchAllRatings() {
const productRatingsElements = document.querySelectorAll('.product-ratings');
const fetchPromises = [];
productRatingsElements.forEach(productRatingElement => {
const sku = productRatingElement.getAttribute('data-item-sku');
if (sku) {
fetchPromises.push(fetchRating(sku));
}
});
const ratings = await Promise.all(fetchPromises);
productRatingsElements.forEach((productRatingElement, index) => {
const { rating, stars } = ratings[index];
productRatingElement.innerHTML = `
<div>
<div class="product-stars">${stars}</div>
<p style="color:#000;font-size:13px;margin-bottom:0px">${rating}</p>
</div>
`;
});
}
window.onload = fetchAllRatings;
</script>
<!-- Brevo Conversations {literal} -->
<script>
(function(d, w, c) {
w.BrevoConversationsID = '66755306756cb768ed6aa8bd';
w[c] = w[c] || function() {
(w[c].q = w[c].q || []).push(arguments);
};
var s = d.createElement('script');
s.async = true;
s.src = 'https://conversations-widget.brevo.com/brevo-conversations.js';
if (d.head) d.head.appendChild(s);
})(document, window, 'BrevoConversations');
</script>
<!-- /Brevo Conversations {/literal} -->
#}
{% endblock %}