From b3940bba08b98dfa6a14ad538c6ec6cb3ca91aa0 Mon Sep 17 00:00:00 2001 From: isUnknown Date: Wed, 14 Jan 2026 12:02:55 +0100 Subject: [PATCH] Add i18n support and cart total to Shopify integration Implement multilingual support for shop interface and add total calculation to cart drawer: - Add FR/EN translations for all shop-related texts (cart, checkout, stock status) - Update templates and JavaScript to use translation system - Add cart total calculation with formatted currency display - Refactor cart drawer styles to SASS with improved button styling (black borders on +/-) - Fix English product content (replace JSON with proper HTML) - Extract cart drawer to separate snippet for better organization Co-Authored-By: Claude Sonnet 4.5 --- .../css/components/_shopify-buy-button.scss | 68 +++ .../css/components/_shopify-cart-drawer.scss | 421 +++++++++--------- assets/css/style.css | 298 ++++++++----- assets/css/style.css.map | 2 +- assets/js/cart-drawer.js | 36 +- assets/js/product-add-to-cart.js | 22 +- content/1_tshirt-index-01/product.en.txt | 21 +- site/languages/en.php | 13 + site/languages/fr.php | 13 + site/snippets/buy-button--t-shirt.php | 81 +--- site/snippets/cart-drawer.php | 32 ++ site/snippets/footer.php | 30 +- 12 files changed, 586 insertions(+), 451 deletions(-) create mode 100644 site/snippets/cart-drawer.php diff --git a/assets/css/components/_shopify-buy-button.scss b/assets/css/components/_shopify-buy-button.scss index e69de29..ca48dde 100644 --- a/assets/css/components/_shopify-buy-button.scss +++ b/assets/css/components/_shopify-buy-button.scss @@ -0,0 +1,68 @@ +.product-purchase { + margin-top: 2rem; +} + +.product-stock-info { + margin-bottom: 1rem; +} + +.stock-status { + font-size: 0.9rem; + font-weight: 600; + margin: 0; +} + +.stock-status.in-stock { + color: #00cc00; +} + +.stock-status.low-stock { + color: #ff9900; +} + +.stock-status.out-of-stock { + color: #ff3333; +} + +.btn-add-to-cart { + font-family: "Open Sans", sans-serif; + font-weight: bold; + font-size: 1rem; + color: #000000; + background-color: #00ff00; + border: none; + border-radius: 40px; + padding: 12px 34px; + cursor: pointer; + transition: background-color 0.3s ease; + width: 100%; + max-width: 300px; +} + +.btn-add-to-cart:hover:not(:disabled) { + background-color: #00e600; +} + +.btn-add-to-cart:focus { + outline: 2px solid #00e600; + outline-offset: 2px; +} + +.btn-add-to-cart:disabled { + opacity: 0.6; + cursor: not-allowed; +} + +.btn-add-to-cart.success { + background-color: #00cc00; +} + +.btn-add-to-cart.error { + background-color: #ff3333; + color: #ffffff; +} + +.btn-add-to-cart.out-of-stock { + background-color: #cccccc; + color: #666666; +} diff --git a/assets/css/components/_shopify-cart-drawer.scss b/assets/css/components/_shopify-cart-drawer.scss index e21387c..c0b8b02 100644 --- a/assets/css/components/_shopify-cart-drawer.scss +++ b/assets/css/components/_shopify-cart-drawer.scss @@ -9,225 +9,246 @@ pointer-events: none; opacity: 0; transition: opacity 0.3s ease; + color: #000; + + &.is-open { + pointer-events: auto; + opacity: 1; + + .cart-drawer__panel { + transform: translateX(0); + } + } + + &__overlay { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.5); + cursor: pointer; + } + + &__panel { + position: absolute; + top: 0; + right: 0; + bottom: 0; + width: 100%; + max-width: 420px; + background-color: #ffffff; + box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15); + display: flex; + flex-direction: column; + transform: translateX(100%); + transition: transform 0.3s ease; + + @media (max-width: 768px) { + max-width: 100%; + } + } + + &__header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 1.5rem; + border-bottom: 1px solid #e0e0e0; + + h3 { + margin: 0; + font-size: 1.5rem; + font-weight: bold; + } + } + + &__close { + background: none; + border: none; + cursor: pointer; + padding: 0.5rem; + display: flex; + align-items: center; + justify-content: center; + transition: opacity 0.2s; + + &:hover { + opacity: 0.7; + } + } + + &__content { + flex: 1; + overflow-y: auto; + padding: 1.5rem; + + &.is-loading { + opacity: 0.5; + pointer-events: none; + } + } + + &__empty { + text-align: center; + padding: 3rem 1rem; + color: #666; + + &.hidden { + display: none; + } + } + + &__items { + display: flex; + flex-direction: column; + gap: 1rem; + + &.hidden { + display: none; + } + } + + &__footer { + border-top: 1px solid #e0e0e0; + padding: 1.5rem; + display: flex; + flex-direction: column; + gap: 1rem; + } + + &__total { + display: flex; + justify-content: space-between; + align-items: center; + font-size: 1.125rem; + font-weight: bold; + + &-label { + color: #000; + } + + &-amount { + color: #000; + font-size: 1.25rem; + } + } + + &__checkout-btn { + width: 100%; + font-family: "Open Sans", sans-serif; + font-weight: bold; + font-size: 1rem; + color: #000000; + background-color: #00ff00; + border: none; + border-radius: 40px; + padding: 14px 34px; + cursor: pointer; + transition: background-color 0.3s ease; + + &:hover:not(:disabled) { + background-color: #00e600; + } + + &:disabled { + opacity: 0.6; + cursor: not-allowed; + } + } } -.cart-drawer.is-open { - pointer-events: auto; - opacity: 1; -} - -.cart-drawer__overlay { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: rgba(0, 0, 0, 0.5); - cursor: pointer; -} - -.cart-drawer__panel { - position: absolute; - top: 0; - right: 0; - bottom: 0; - width: 100%; - max-width: 420px; - background-color: #ffffff; - box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15); - display: flex; - flex-direction: column; - transform: translateX(100%); - transition: transform 0.3s ease; -} - -.cart-drawer.is-open .cart-drawer__panel { - transform: translateX(0); -} - -.cart-drawer__header { - display: flex; - align-items: center; - justify-content: space-between; - padding: 1.5rem; - border-bottom: 1px solid #e0e0e0; -} - -.cart-drawer__header h3 { - margin: 0; - font-size: 1.5rem; - font-weight: bold; -} - -.cart-drawer__close { - background: none; - border: none; - cursor: pointer; - padding: 0.5rem; - display: flex; - align-items: center; - justify-content: center; - transition: opacity 0.2s; -} - -.cart-drawer__close:hover { - opacity: 0.7; -} - -.cart-drawer__content { - flex: 1; - overflow-y: auto; - padding: 1.5rem; -} - -.cart-drawer__empty { - text-align: center; - padding: 3rem 1rem; - color: #666; -} - -.cart-drawer__empty.hidden { - display: none; -} - -.cart-drawer__items { - display: flex; - flex-direction: column; - gap: 1rem; -} - -.cart-drawer__items.hidden { - display: none; -} - +// Cart Item .cart-item { display: flex; gap: 1rem; padding: 1rem; border: 1px solid #e0e0e0; border-radius: 8px; -} -.cart-item__image { - width: 80px; - height: 80px; - object-fit: cover; - border-radius: 4px; - flex-shrink: 0; -} + &__image { + width: 80px; + height: 80px; + object-fit: cover; + border-radius: 4px; + flex-shrink: 0; + } -.cart-item__details { - flex: 1; - display: flex; - flex-direction: column; - gap: 0.5rem; -} + &__details { + flex: 1; + display: flex; + flex-direction: column; + gap: 0.5rem; + } -.cart-item__title { - font-weight: 600; - margin: 0; - font-size: 1rem; -} + &__title { + font-weight: 600; + margin: 0; + font-size: 1rem; + } -.cart-item__variant { - font-size: 0.875rem; - color: #666; - margin: 0; -} + &__variant { + font-size: 0.875rem; + color: #666; + margin: 0; + } -.cart-item__price { - font-weight: bold; - color: #000; -} + &__price { + font-weight: bold; + color: #000; + } -.cart-item__quantity { - display: flex; - align-items: center; - gap: 0.5rem; - margin-top: auto; -} + &__quantity { + display: flex; + align-items: center; + gap: 0.5rem; + margin-top: auto; + } -.cart-item__qty-btn { - width: 28px; - height: 28px; - border: 1px solid #ddd; - background: #fff; - border-radius: 4px; - cursor: pointer; - display: flex; - align-items: center; - justify-content: center; - font-size: 1rem; - transition: background-color 0.2s; -} + &__qty-btn { + width: 28px; + height: 28px; + border: 1px solid #000; + background: #fff; + color: #000; + border-radius: 4px; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + font-size: 1rem; + font-weight: bold; + transition: all 0.2s; -.cart-item__qty-btn:hover:not(:disabled) { - background-color: #f5f5f5; -} + &:hover:not(:disabled) { + background-color: #000; + color: #fff; + } -.cart-item__qty-btn:disabled { - opacity: 0.4; - cursor: not-allowed; -} + &:disabled { + opacity: 0.4; + cursor: not-allowed; + } + } -.cart-item__qty-value { - min-width: 30px; - text-align: center; - font-weight: 600; -} + &__qty-value { + min-width: 30px; + text-align: center; + font-weight: 600; + } -.cart-item__remove { - background: none; - border: none; - color: #ff3333; - cursor: pointer; - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - text-decoration: underline; - align-self: flex-start; -} + &__remove { + background: none; + border: none; + color: #ff3333; + cursor: pointer; + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + text-decoration: underline; + align-self: flex-start; -.cart-item__remove:hover { - color: #cc0000; -} - -.cart-drawer__footer { - border-top: 1px solid #e0e0e0; - padding: 1.5rem; -} - -.cart-drawer__checkout-btn { - width: 100%; - font-family: "Open Sans", sans-serif; - font-weight: bold; - font-size: 1rem; - color: #000000; - background-color: #00ff00; - border: none; - border-radius: 40px; - padding: 14px 34px; - cursor: pointer; - transition: background-color 0.3s ease; -} - -.cart-drawer__checkout-btn:hover:not(:disabled) { - background-color: #00e600; -} - -.cart-drawer__checkout-btn:disabled { - opacity: 0.6; - cursor: not-allowed; -} - -/* Mobile responsiveness */ -@media (max-width: 768px) { - .cart-drawer__panel { - max-width: 100%; + &:hover { + color: #cc0000; + } } } - -/* Loading state */ -.cart-drawer__content.is-loading { - opacity: 0.5; - pointer-events: none; -} diff --git a/assets/css/style.css b/assets/css/style.css index 54e5a88..5e32d46 100644 --- a/assets/css/style.css +++ b/assets/css/style.css @@ -1258,6 +1258,75 @@ body.is-fullscreen { margin-top: calc(var(--spacing) * 4); } +.product-purchase { + margin-top: 2rem; +} + +.product-stock-info { + margin-bottom: 1rem; +} + +.stock-status { + font-size: 0.9rem; + font-weight: 600; + margin: 0; +} + +.stock-status.in-stock { + color: #00cc00; +} + +.stock-status.low-stock { + color: #ff9900; +} + +.stock-status.out-of-stock { + color: #ff3333; +} + +.btn-add-to-cart { + font-family: "Open Sans", sans-serif; + font-weight: bold; + font-size: 1rem; + color: #000000; + background-color: #00ff00; + border: none; + border-radius: 40px; + padding: 12px 34px; + cursor: pointer; + transition: background-color 0.3s ease; + width: 100%; + max-width: 300px; +} + +.btn-add-to-cart:hover:not(:disabled) { + background-color: #00e600; +} + +.btn-add-to-cart:focus { + outline: 2px solid #00e600; + outline-offset: 2px; +} + +.btn-add-to-cart:disabled { + opacity: 0.6; + cursor: not-allowed; +} + +.btn-add-to-cart.success { + background-color: #00cc00; +} + +.btn-add-to-cart.error { + background-color: #ff3333; + color: #ffffff; +} + +.btn-add-to-cart.out-of-stock { + background-color: #cccccc; + color: #666666; +} + /* Cart Drawer Styles */ .cart-drawer { position: fixed; @@ -1269,13 +1338,15 @@ body.is-fullscreen { pointer-events: none; opacity: 0; transition: opacity 0.3s ease; + color: #000; } - .cart-drawer.is-open { pointer-events: auto; opacity: 1; } - +.cart-drawer.is-open .cart-drawer__panel { + transform: translateX(0); +} .cart-drawer__overlay { position: absolute; top: 0; @@ -1285,7 +1356,6 @@ body.is-fullscreen { background-color: rgba(0, 0, 0, 0.5); cursor: pointer; } - .cart-drawer__panel { position: absolute; top: 0; @@ -1300,11 +1370,11 @@ body.is-fullscreen { transform: translateX(100%); transition: transform 0.3s ease; } - -.cart-drawer.is-open .cart-drawer__panel { - transform: translateX(0); +@media (max-width: 768px) { + .cart-drawer__panel { + max-width: 100%; + } } - .cart-drawer__header { display: flex; align-items: center; @@ -1312,13 +1382,11 @@ body.is-fullscreen { padding: 1.5rem; border-bottom: 1px solid #e0e0e0; } - .cart-drawer__header h3 { margin: 0; font-size: 1.5rem; font-weight: bold; } - .cart-drawer__close { background: none; border: none; @@ -1329,134 +1397,55 @@ body.is-fullscreen { justify-content: center; transition: opacity 0.2s; } - .cart-drawer__close:hover { opacity: 0.7; } - .cart-drawer__content { flex: 1; overflow-y: auto; padding: 1.5rem; } - +.cart-drawer__content.is-loading { + opacity: 0.5; + pointer-events: none; +} .cart-drawer__empty { text-align: center; padding: 3rem 1rem; color: #666; } - .cart-drawer__empty.hidden { display: none; } - .cart-drawer__items { display: flex; flex-direction: column; gap: 1rem; } - .cart-drawer__items.hidden { display: none; } - -.cart-item { - display: flex; - gap: 1rem; - padding: 1rem; - border: 1px solid #e0e0e0; - border-radius: 8px; -} - -.cart-item__image { - width: 80px; - height: 80px; - -o-object-fit: cover; - object-fit: cover; - border-radius: 4px; - flex-shrink: 0; -} - -.cart-item__details { - flex: 1; - display: flex; - flex-direction: column; - gap: 0.5rem; -} - -.cart-item__title { - font-weight: 600; - margin: 0; - font-size: 1rem; -} - -.cart-item__variant { - font-size: 0.875rem; - color: #666; - margin: 0; -} - -.cart-item__price { - font-weight: bold; - color: #000; -} - -.cart-item__quantity { - display: flex; - align-items: center; - gap: 0.5rem; - margin-top: auto; -} - -.cart-item__qty-btn { - width: 28px; - height: 28px; - border: 1px solid #ddd; - background: #fff; - border-radius: 4px; - cursor: pointer; - display: flex; - align-items: center; - justify-content: center; - font-size: 1rem; - transition: background-color 0.2s; -} - -.cart-item__qty-btn:hover:not(:disabled) { - background-color: #f5f5f5; -} - -.cart-item__qty-btn:disabled { - opacity: 0.4; - cursor: not-allowed; -} - -.cart-item__qty-value { - min-width: 30px; - text-align: center; - font-weight: 600; -} - -.cart-item__remove { - background: none; - border: none; - color: #ff3333; - cursor: pointer; - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - text-decoration: underline; - align-self: flex-start; -} - -.cart-item__remove:hover { - color: #cc0000; -} - .cart-drawer__footer { border-top: 1px solid #e0e0e0; padding: 1.5rem; + display: flex; + flex-direction: column; + gap: 1rem; +} +.cart-drawer__total { + display: flex; + justify-content: space-between; + align-items: center; + font-size: 1.125rem; + font-weight: bold; +} +.cart-drawer__total-label { + color: #000; +} +.cart-drawer__total-amount { + color: #000; + font-size: 1.25rem; } - .cart-drawer__checkout-btn { width: 100%; font-family: "Open Sans", sans-serif; @@ -1470,26 +1459,95 @@ body.is-fullscreen { cursor: pointer; transition: background-color 0.3s ease; } - .cart-drawer__checkout-btn:hover:not(:disabled) { background-color: #00e600; } - .cart-drawer__checkout-btn:disabled { opacity: 0.6; cursor: not-allowed; } -/* Mobile responsiveness */ -@media (max-width: 768px) { - .cart-drawer__panel { - max-width: 100%; - } +.cart-item { + display: flex; + gap: 1rem; + padding: 1rem; + border: 1px solid #e0e0e0; + border-radius: 8px; } -/* Loading state */ -.cart-drawer__content.is-loading { - opacity: 0.5; - pointer-events: none; +.cart-item__image { + width: 80px; + height: 80px; + -o-object-fit: cover; + object-fit: cover; + border-radius: 4px; + flex-shrink: 0; +} +.cart-item__details { + flex: 1; + display: flex; + flex-direction: column; + gap: 0.5rem; +} +.cart-item__title { + font-weight: 600; + margin: 0; + font-size: 1rem; +} +.cart-item__variant { + font-size: 0.875rem; + color: #666; + margin: 0; +} +.cart-item__price { + font-weight: bold; + color: #000; +} +.cart-item__quantity { + display: flex; + align-items: center; + gap: 0.5rem; + margin-top: auto; +} +.cart-item__qty-btn { + width: 28px; + height: 28px; + border: 1px solid #000; + background: #fff; + color: #000; + border-radius: 4px; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + font-size: 1rem; + font-weight: bold; + transition: all 0.2s; +} +.cart-item__qty-btn:hover:not(:disabled) { + background-color: #000; + color: #fff; +} +.cart-item__qty-btn:disabled { + opacity: 0.4; + cursor: not-allowed; +} +.cart-item__qty-value { + min-width: 30px; + text-align: center; + font-weight: 600; +} +.cart-item__remove { + background: none; + border: none; + color: #ff3333; + cursor: pointer; + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + text-decoration: underline; + align-self: flex-start; +} +.cart-item__remove:hover { + color: #cc0000; } [data-template=subscription-newsletter] main { diff --git a/assets/css/style.css.map b/assets/css/style.css.map index 7ba498b..d4e8118 100644 --- a/assets/css/style.css.map +++ b/assets/css/style.css.map @@ -1 +1 @@ -{"version":3,"sources":["style.css","base/_var.scss","base/_body.scss","components/_nav-tabs.scss","components/_btn--default.scss","components/_btn--don.scss","components/_form-newsletter.scss","components/_gauge.scss","components/_text.scss","partials/_site-header.scss","partials/_site-footer.scss","template/support/_layout.scss","template/support/_section--donation.scss","template/support/_section--comments.scss","template/support/_section--questions.scss","template/support/_section--video.scss","template/shop/_layout.scss","template/shop/_section--product.scss","template/shop/_thanks.scss","components/_shopify-cart-drawer.scss","template/subscription-newsletter/_layout.scss"],"names":[],"mappings":"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","file":"style.css"} \ No newline at end of file +{"version":3,"sources":["style.css","base/_var.scss","base/_body.scss","components/_nav-tabs.scss","components/_btn--default.scss","components/_btn--don.scss","components/_form-newsletter.scss","components/_gauge.scss","components/_text.scss","partials/_site-header.scss","partials/_site-footer.scss","template/support/_layout.scss","template/support/_section--donation.scss","template/support/_section--comments.scss","template/support/_section--questions.scss","template/support/_section--video.scss","template/shop/_layout.scss","template/shop/_section--product.scss","template/shop/_thanks.scss","components/_shopify-buy-button.scss","components/_shopify-cart-drawer.scss","template/subscription-newsletter/_layout.scss"],"names":[],"mappings":"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","file":"style.css"} \ No newline at end of file diff --git a/assets/js/cart-drawer.js b/assets/js/cart-drawer.js index 483dea0..5849190 100644 --- a/assets/js/cart-drawer.js +++ b/assets/js/cart-drawer.js @@ -8,6 +8,10 @@ const itemsContainer = document.querySelector('[data-cart-items]'); const checkoutBtn = document.querySelector('[data-cart-checkout]'); const closeButtons = document.querySelectorAll('[data-cart-close]'); + const totalDisplay = document.querySelector('[data-cart-total]'); + + // Get translated text + const removeText = drawer.dataset.textRemove || 'Remove'; let currentCart = null; let cartInstance = null; @@ -59,11 +63,32 @@ document.body.style.overflow = ''; } + function calculateTotal() { + if (!currentCart || !currentCart.lines) return 0; + + return currentCart.lines.edges.reduce((total, edge) => { + const item = edge.node; + const price = parseFloat(item.merchandise.price.amount); + const quantity = item.quantity; + return total + (price * quantity); + }, 0); + } + + function formatPrice(amount, currency = 'EUR') { + return new Intl.NumberFormat('fr-FR', { + style: 'currency', + currency: currency + }).format(amount); + } + function renderCart() { if (!currentCart || !currentCart.lines || currentCart.lines.edges.length === 0) { emptyState.classList.remove('hidden'); itemsContainer.classList.add('hidden'); checkoutBtn.disabled = true; + if (totalDisplay) { + totalDisplay.textContent = '0,00 €'; + } return; } @@ -71,6 +96,13 @@ itemsContainer.classList.remove('hidden'); checkoutBtn.disabled = false; + // Calculate and display total + const total = calculateTotal(); + const currency = currentCart.lines.edges[0]?.node.merchandise.price.currencyCode || 'EUR'; + if (totalDisplay) { + totalDisplay.textContent = formatPrice(total, currency); + } + // Render cart items itemsContainer.innerHTML = currentCart.lines.edges.map(edge => { const item = edge.node; @@ -81,7 +113,7 @@

${merchandise.product.title}

${merchandise.title !== 'Default Title' ? `

${merchandise.title}

` : ''} -

${merchandise.price.amount} ${merchandise.price.currencyCode}

+

${formatPrice(parseFloat(merchandise.price.amount), merchandise.price.currencyCode)}

@@ -90,7 +122,7 @@
diff --git a/assets/js/product-add-to-cart.js b/assets/js/product-add-to-cart.js index 267e05b..5c5d5d5 100644 --- a/assets/js/product-add-to-cart.js +++ b/assets/js/product-add-to-cart.js @@ -21,6 +21,16 @@ const variantId = addToCartBtn.dataset.variantId; const stockDisplay = document.querySelector('[data-product-stock]'); + // Get translated texts + const texts = { + add: addToCartBtn.dataset.textAdd || 'Add to cart', + adding: addToCartBtn.dataset.textAdding || 'Adding...', + added: addToCartBtn.dataset.textAdded || 'Added! ✓', + error: addToCartBtn.dataset.textError || 'Error - Try again', + outOfStock: addToCartBtn.dataset.textOutOfStock || 'Out of stock', + inStock: addToCartBtn.dataset.textInStock || 'In stock' + }; + // Load product data to check availability async function loadProductData() { try { @@ -49,16 +59,16 @@ // Update button based on availability if (!variant.availableForSale) { addToCartBtn.disabled = true; - addToCartBtn.textContent = 'Rupture de stock'; + addToCartBtn.textContent = texts.outOfStock; addToCartBtn.classList.add('out-of-stock'); if (stockDisplay) { - stockDisplay.textContent = 'Rupture de stock'; + stockDisplay.textContent = texts.outOfStock; stockDisplay.classList.add('out-of-stock'); } } else { // Show in stock if (stockDisplay) { - stockDisplay.textContent = 'En stock'; + stockDisplay.textContent = texts.inStock; stockDisplay.classList.add('in-stock'); } } @@ -78,14 +88,14 @@ // Disable button during request addToCartBtn.disabled = true; const originalText = addToCartBtn.textContent; - addToCartBtn.textContent = 'Ajout en cours...'; + addToCartBtn.textContent = texts.adding; try { const variantId = this.dataset.variantId; const cartResult = await cart.addToCart(variantId, 1); // Show success feedback - addToCartBtn.textContent = 'Ajouté ! ✓'; + addToCartBtn.textContent = texts.added; addToCartBtn.classList.add('success'); // Dispatch event to open cart drawer @@ -104,7 +114,7 @@ console.error('Error adding to cart:', error); // Show error feedback - addToCartBtn.textContent = 'Erreur - Réessayer'; + addToCartBtn.textContent = texts.error; addToCartBtn.classList.add('error'); // Re-enable button after delay diff --git a/content/1_tshirt-index-01/product.en.txt b/content/1_tshirt-index-01/product.en.txt index 0541df2..7dec4a5 100644 --- a/content/1_tshirt-index-01/product.en.txt +++ b/content/1_tshirt-index-01/product.en.txt @@ -10,26 +10,7 @@ Description:

T-shirt de soutien à Index, 100% coton

---- -Details: - -[ - { - "content": { - "text": "

100% cotton

" - }, - "id": "detail1", - "isHidden": false, - "type": "text" - }, - { - "content": { - "text": "

Lorem ipsum dolor sit amet

" - }, - "id": "detail2", - "isHidden": false, - "type": "text" - } -] +Details:

Organic cotton t-shirt with screen printing.
Print on the front: "INDEX" logo, 10 cm wide.

Shipping only via Mondial Relay to France, Belgium and Switzerland.

---- diff --git a/site/languages/en.php b/site/languages/en.php index 55c6d63..613b944 100644 --- a/site/languages/en.php +++ b/site/languages/en.php @@ -13,7 +13,20 @@ return [ 'backToShop' => 'Back to shop', 'supportText' => 'To support us, you can also', 'makeDonation' => 'make a donation', + + // Shop / Cart 'addToCart' => 'Add to cart', + 'cart' => 'Cart', + 'cartEmpty' => 'Your cart is empty', + 'total' => 'Total', + 'checkout' => 'Checkout', + 'remove' => 'Remove', + 'inStock' => 'In stock', + 'outOfStock' => 'Out of stock', + 'addingToCart' => 'Adding...', + 'addedToCart' => 'Added! ✓', + 'errorAddToCart' => 'Error - Try again', + 'closeCart' => 'Close cart', // Blueprints - Home 'home.title' => 'Home', diff --git a/site/languages/fr.php b/site/languages/fr.php index 64f3f5e..63ca317 100644 --- a/site/languages/fr.php +++ b/site/languages/fr.php @@ -13,7 +13,20 @@ return [ 'backToShop' => 'Retour à la boutique', 'supportText' => 'Pour nous soutenir, vous pouvez aussi', 'makeDonation' => 'faire un don', + + // Shop / Cart 'addToCart' => 'Ajouter au panier', + 'cart' => 'Panier', + 'cartEmpty' => 'Votre panier est vide', + 'total' => 'Total', + 'checkout' => 'Passer commande', + 'remove' => 'Retirer', + 'inStock' => 'En stock', + 'outOfStock' => 'Rupture de stock', + 'addingToCart' => 'Ajout en cours...', + 'addedToCart' => 'Ajouté ! ✓', + 'errorAddToCart' => 'Erreur - Réessayer', + 'closeCart' => 'Fermer le panier', // Blueprints - Home 'home.title' => 'Accueil', diff --git a/site/snippets/buy-button--t-shirt.php b/site/snippets/buy-button--t-shirt.php index 0076131..489b08d 100644 --- a/site/snippets/buy-button--t-shirt.php +++ b/site/snippets/buy-button--t-shirt.php @@ -8,78 +8,13 @@ data-shopify-add-to-cart data-product-id="15689076179317" data-variant-id="" + data-text-add="" + data-text-adding="" + data-text-added="" + data-text-error="" + data-text-out-of-stock="" + data-text-in-stock="" > - Ajouter au panier + - - - \ No newline at end of file + \ No newline at end of file diff --git a/site/snippets/cart-drawer.php b/site/snippets/cart-drawer.php new file mode 100644 index 0000000..8ba5459 --- /dev/null +++ b/site/snippets/cart-drawer.php @@ -0,0 +1,32 @@ +
+
+
+
+

+ +
+ +
+
+

+
+ +
+
+ + +
+
\ No newline at end of file diff --git a/site/snippets/footer.php b/site/snippets/footer.php index fdb4979..3f6ecb9 100644 --- a/site/snippets/footer.php +++ b/site/snippets/footer.php @@ -1,32 +1,4 @@ - -
-
-
-
-

Panier

- -
- -
-
-

Votre panier est vide

-
- -
-
- - -
-
+