diff --git a/assets/i18n/en/main.ftl b/assets/i18n/en/main.ftl index e042d65..f3c90b6 100644 --- a/assets/i18n/en/main.ftl +++ b/assets/i18n/en/main.ftl @@ -213,6 +213,8 @@ variants-options = Variants / options add-option = Add option option-label = Option label optional = optional +stock-untracked-hint = Leave blank = available without stock tracking +available = Available choose-option = Choose an option from-price = from { $price } admin-discounts = Discounts diff --git a/assets/i18n/sk/main.ftl b/assets/i18n/sk/main.ftl index b107e58..57ac596 100644 --- a/assets/i18n/sk/main.ftl +++ b/assets/i18n/sk/main.ftl @@ -213,6 +213,8 @@ variants-options = Varianty / možnosti add-option = Pridať možnosť option-label = Označenie možnosti optional = voliteľné +stock-untracked-hint = Nechajte prázdne = dostupné bez sledovania zásob +available = Dostupné choose-option = Vyberte možnosť from-price = od { $price } admin-discounts = Zľavy diff --git a/assets/views/admin/catalog/product_form.html b/assets/views/admin/catalog/product_form.html index b72e162..5130279 100644 --- a/assets/views/admin/catalog/product_form.html +++ b/assets/views/admin/catalog/product_form.html @@ -37,10 +37,11 @@ {# --- Variants / options editor ------------------------------------------- #} {# Each product is sold as one or more variants (a free-text label such as #} - {# "10cm x 13cm" or "5ml" plus its own price/stock, optional sku & business #} - {# price). Price and stock are required; the browser blocks save if a row is #} - {# incomplete. Rows are managed client-side; names are indexed (variants[i][…]) #} - {# and read back by the controller. #} + {# "10cm x 13cm" or "5ml" plus its own price). Price is required. Stock is #} + {# optional — leave it blank ("∞") to mark the option simply available (not #} + {# inventory-tracked). SKU and business price are optional too. Rows are #} + {# managed client-side; names are indexed (variants[i][…]) and read back by #} + {# the controller. #} {% set opt = " (" ~ t(key="optional", lang=lang | default(value='sk')) ~ ")" %}
@@ -68,8 +69,8 @@
- - + +
diff --git a/assets/views/shop/_card.html b/assets/views/shop/_card.html index e7b81d4..6decfc9 100644 --- a/assets/views/shop/_card.html +++ b/assets/views/shop/_card.html @@ -32,8 +32,8 @@ {% if product.has_options %} {# Multiple variants: customer must pick on the product page. #} {{ ui::button(label=t(key="choose-option", lang=lang | default(value='sk')), href="/shop/" ~ product.slug, extra="w-full") }} - {% elif product.stock > 0 %} -

{{ t(key="in-stock", lang=lang | default(value='sk')) }}: {{ product.stock }}

+ {% elif product.in_stock %} +

{% if product.tracked %}{{ t(key="in-stock", lang=lang | default(value='sk')) }}: {{ product.stock }}{% else %}{{ t(key="available", lang=lang | default(value='sk')) }}{% endif %}

diff --git a/assets/views/shop/_cart_body.html b/assets/views/shop/_cart_body.html index 448e642..cfe0a94 100644 --- a/assets/views/shop/_cart_body.html +++ b/assets/views/shop/_cart_body.html @@ -37,7 +37,7 @@ hx-post="/cart/update" hx-trigger="cartchange" hx-target="#cart-body" hx-swap="innerHTML"> {{ ui::csrf_field() }} - {{ t(key="add-to-cart", lang=lang | default(value='sk')) }}
-

{{ t(key="in-stock", lang=lang | default(value='sk')) }}:

+

+ + +