{% extends 'base.html.twig' %} {% block title %}Catalogue | CARTECADEAU{% endblock %} {% block body %} {# ============================================================ Mapping marque → couleurs — IDENTIQUE à home/index.html.twig. Pour éviter la duplication, tu peux extraire ce bloc dans un fichier partiel : templates/_partials/_brand_map.html.twig puis : {% include '_partials/_brand_map.html.twig' %} ============================================================ #} {% set brandMap = { 'PlayStation': {'primary': '#0070D1', 'secondary': '#003791', 'initials': 'PS'}, 'Xbox': {'primary': '#107C10', 'secondary': '#0E5E0E', 'initials': 'XB'}, 'Steam': {'primary': '#1B2838', 'secondary': '#66C0F4', 'initials': 'ST'}, 'Netflix': {'primary': '#E50914', 'secondary': '#831010', 'initials': 'N'}, 'Spotify': {'primary': '#1DB954', 'secondary': '#0E6B2F', 'initials': 'SP'}, 'Amazon': {'primary': '#FF9900', 'secondary': '#232F3E', 'initials': 'AZ'}, 'Apple': {'primary': '#A2AAAD', 'secondary': '#1C1C1E', 'initials': 'iT'}, 'iTunes': {'primary': '#A2AAAD', 'secondary': '#1C1C1E', 'initials': 'iT'}, 'Google Play': {'primary': '#34A853', 'secondary': '#FBBC04', 'initials': 'GP'}, 'Free Fire': {'primary': '#FF6A00', 'secondary': '#E2231A', 'initials': 'FF'}, 'Mobile Legends': {'primary': '#22D3EE', 'secondary': '#1E1B4B', 'initials': 'ML'}, 'PUBG Mobile': {'primary': '#F2A900', 'secondary': '#1A1A1A', 'initials': 'PG'}, 'Genshin Impact': {'primary': '#FFB347', 'secondary': '#5B3E91', 'initials': 'GI'}, 'Valorant': {'primary': '#FF4655', 'secondary': '#0F1923', 'initials': 'VA'}, 'Riot': {'primary': '#FF4655', 'secondary': '#0F1923', 'initials': 'RT'}, 'Fortnite': {'primary': '#9F4DEA', 'secondary': '#00FFFF', 'initials': 'FN'}, 'Roblox': {'primary': '#E2231A', 'secondary': '#393B3F', 'initials': 'RB'}, 'Nintendo': {'primary': '#E60012', 'secondary': '#1F1F1F', 'initials': 'NS'}, 'Twitch': {'primary': '#9146FF', 'secondary': '#392E5C', 'initials': 'TV'}, } %}

Wupex Marketplace

Catalogue Aurora Noir

Produits synchronisés depuis Wupex. Prix convertis de {{ pricingContext.baseCurrency }} vers {{ pricingContext.displayCurrency }} avec commission {{ pricingContext.commissionPercent|number_format(2, ',', ' ') }}%.

Taux: 1 {{ pricingContext.baseCurrency }} = {{ pricingContext.exchangeRate|number_format(6, '.', ' ') }} {{ pricingContext.displayCurrency }} (source: {{ pricingContext.rateSource }})

{% set baseParams = {} %} {% if activeCategory %}{% set baseParams = baseParams|merge({category: activeCategory}) %}{% endif %} {% if searchTerm %}{% set baseParams = baseParams|merge({q: searchTerm}) %}{% endif %} {% if sort %}{% set baseParams = baseParams|merge({sort: sort}) %}{% endif %} {% set typedParams = activeType ? baseParams|merge({type: activeType}) : baseParams %}
Tout Vouchers Top-up jeux
{{ pagination.total }} produit{{ pagination.total > 1 ? 's' : '' }}
{% if catalogItems is empty %}

Aucun produit

{% if searchTerm or activeCategory or activeType %}

Aucun résultat pour ces filtres. Essaie d'élargir ta recherche.

{% else %}

Lance la commande app:catalog:sync-wupex pour charger tes produits depuis Wupex.

{% endif %}
{% else %}
{% for item in catalogItems %} {% set product = item.product %} {% set b = brandMap[product.category] ?? null %}
{{ product.type == 'topup' ? 'Top-up' : 'Voucher' }}
{% if product.imageUrl %} {{ product.name }} {% else %} {% endif %}
{% if product.category %}

{{ product.category }}

{% endif %} {% if catalogShowStock %}

{{ product.enabled ? 'En stock' : 'Rupture' }}

{% endif %}

{{ product.name }}

SKU: {{ product.sku }}

{% if product.subType %}

SubType top-up: {{ product.subType }}

{% endif %}
{{ item.displayPrice|number_format(pricingContext.decimals, ',', ' ') }} {{ pricingContext.displayCurrency }} Prix achat: {{ product.purchasePrice|number_format(2, ',', ' ') }} {{ pricingContext.baseCurrency }}
{% if product.enabled %} {% else %} {% endif %}
{% endfor %}
{% if pagination.pages > 1 %} {% endif %} {% endif %}
{% endblock %}