+
@@ -768,11 +775,13 @@ CATALOG_TEMPLATE = '''
: `https://via.placeholder.com/300x300.png?text=Нет+фото`;
let priceText = product.price > 0 ? `
${parseFloat(product.price).toFixed(0)} ${currencyCode}
` : '';
+ let multiIcon = (product.photos && product.photos.length > 1) ? `
` : '';
return `

+ ${multiIcon}
${priceText}
@@ -811,7 +820,7 @@ CATALOG_TEMPLATE = '''
if (i === 1 || i === totalPages || (i >= currentPage - 1 && i <= currentPage + 1)) {
html += `
`;
} else if (i === currentPage - 2 || i === currentPage + 2) {
- html += `
...`;
+ html += `
...`;
}
}
if (currentPage < totalPages) {
@@ -842,14 +851,14 @@ CATALOG_TEMPLATE = '''
if(cart[productId]) {
let qty = cart[productId].qty;
container.innerHTML = `
-
-
-
-
+
+
+
+
`;
} else {
- container.innerHTML = `
`;
+ container.innerHTML = `
`;
}
}
@@ -857,19 +866,46 @@ CATALOG_TEMPLATE = '''
const product = getProductById(productId);
if (!product) return;
const modalContent = document.getElementById('modalContent');
- let photoUrl = (product.photos && product.photos.length > 0)
- ? `https://huggingface.co/datasets/${repoId}/resolve/main/photos/${product.photos[0]}`
- : `https://via.placeholder.com/500x500.png?text=Нет+фото`;
-
- let priceHtml = product.price > 0 ? `
${parseFloat(product.price).toFixed(0)} ${currencyCode}
` : '';
+
+ let slidesHtml = '';
+ if (product.photos && product.photos.length > 0) {
+ product.photos.forEach(photo => {
+ let photoUrl = `https://huggingface.co/datasets/${repoId}/resolve/main/photos/${photo}`;
+ slidesHtml += `
+
+
+

+
+
+ `;
+ });
+ } else {
+ let photoUrl = `https://via.placeholder.com/500x500.png?text=Нет+фото`;
+ slidesHtml += `
+
+
+

+
+
+ `;
+ }
+
+ let priceHtml = product.price > 0 ? `
${parseFloat(product.price).toFixed(0)} ${currencyCode}
` : '';
modalContent.innerHTML = `
-
-

+
+
+ ${slidesHtml}
+
+ ${product.photos && product.photos.length > 1 ? `
+
+
+
+ ` : ''}
-
+
`;
@@ -877,6 +913,13 @@ CATALOG_TEMPLATE = '''
modal.style.display = "block";
document.body.style.overflow = 'hidden';
renderModalCartControls(productId);
+
+ if (window.productSwiper) { window.productSwiper.destroy(); }
+ window.productSwiper = new Swiper('.mySwiper', {
+ zoom: true,
+ pagination: { el: '.swiper-pagination', clickable: true },
+ navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev' },
+ });
}
function openQrModal() {
@@ -910,7 +953,7 @@ CATALOG_TEMPLATE = '''
for(let id in cart) {
let item = cart[id];
total += item.qty * item.price;
- let photoUrl = item.photo ? `https://huggingface.co/datasets/${repoId}/resolve/main/photos/${item.photo}` : `https://via.placeholder.com/60x60.png?text=Фото`;
+ let photoUrl = item.photo ? `https://huggingface.co/datasets/${repoId}/resolve/main/photos/${item.photo}` : `https://via.placeholder.com/70x70.png?text=Фото`;
html += `

@@ -926,7 +969,7 @@ CATALOG_TEMPLATE = '''
`;
}
if(html === '') {
- html = '
Корзина пуста
';
+ html = '
Корзина пуста
';
totalContainer.innerHTML = '';
} else {
totalContainer.innerHTML = `Итого: ${total.toFixed(0)} ${currencyCode}`;
@@ -991,68 +1034,70 @@ ADMIN_TEMPLATE = '''
Настройки Визитки - {{ settings.organization_name }}
-
+
+
+
Покупатель: {{ order['customer_name'] }}
@@ -1633,13 +1815,17 @@ ORDER_TEMPLATE = '''
Продавец: {{ settings['organization_name'] }}
+
+ {% set ns = namespace(index=0) %}
{% for pid, item in order['items'].items() %}
{% if item['photo'] %}
-

+

+
+ {% set ns.index = ns.index + 1 %}
{% else %}
-

+

{% endif %}
{{ item['qty'] }} шт. × {{ "%.2f"|format(item['price']|float) }} {{ currency }}
@@ -1663,6 +1849,34 @@ ORDER_TEMPLATE = '''
Вернуться в каталог
+
+
'''
@@ -1674,35 +1888,37 @@ ADMIN_ORDERS_TEMPLATE = '''
История заказов - {{ settings.organization_name }}
-
+
@@ -1717,10 +1933,10 @@ ADMIN_ORDERS_TEMPLATE = '''