diff --git a/app/components/catalog/CatalogMap.vue b/app/components/catalog/CatalogMap.vue
index 02f5421..10f2ff8 100644
--- a/app/components/catalog/CatalogMap.vue
+++ b/app/components/catalog/CatalogMap.vue
@@ -16,6 +16,7 @@
diff --git a/app/pages/catalog/offers/map.vue b/app/pages/catalog/offers/map.vue
index b7f7b9e..dc0c3a7 100644
--- a/app/pages/catalog/offers/map.vue
+++ b/app/pages/catalog/offers/map.vue
@@ -1,10 +1,38 @@
+
+
+
+
+ {{ product.name }}
+ {{ product.categoryName || t('catalogProduct.labels.category_unknown') }}
+
+
+
+
+
+
+ route.query.product as string | undefined)
+
+const selectedProduct = computed(() => {
+ if (!selectedProductUuid.value) return null
+ return products.value.find(p => p.uuid === selectedProductUuid.value)
+})
+
+const sidebarTitle = computed(() => {
+ if (selectedProduct.value) {
+ return `${t('catalogOffersSection.header.title')}: ${selectedProduct.value.name}`
+ }
+ return t('catalogOffersSection.header.title')
+})
+
+// Initialize products
+await initProducts()
+
+// Watch for product changes
+watch(selectedProductUuid, async (uuid) => {
+ setProductUuid(uuid || null)
+ if (uuid) {
+ await initOffers()
+ }
+}, { immediate: true })
+
+const selectProduct = (product: any) => {
+ router.push({
+ path: route.path,
+ query: { product: product.uuid }
+ })
+}
const mapRef = ref<{ flyTo: (lat: number, lng: number, zoom?: number) => void } | null>(null)
const selectedItemId = ref(null)
diff --git a/i18n/locales/en/catalogOffersSection.json b/i18n/locales/en/catalogOffersSection.json
index c493341..a5c56c2 100644
--- a/i18n/locales/en/catalogOffersSection.json
+++ b/i18n/locales/en/catalogOffersSection.json
@@ -1,7 +1,8 @@
{
"catalogOffersSection": {
"header": {
- "title": "Offers"
+ "title": "Offers",
+ "select_product": "Select product"
},
"actions": {
"view_all": "View all"
@@ -11,7 +12,8 @@
"active": "Active"
},
"empty": {
- "no_offers": "No active offers"
+ "no_offers": "No active offers",
+ "no_products": "No products available"
}
}
}
diff --git a/i18n/locales/ru/catalogOffersSection.json b/i18n/locales/ru/catalogOffersSection.json
index 2044da2..b5c8f6d 100644
--- a/i18n/locales/ru/catalogOffersSection.json
+++ b/i18n/locales/ru/catalogOffersSection.json
@@ -1,7 +1,8 @@
{
"catalogOffersSection": {
"header": {
- "title": "Предложения"
+ "title": "Предложения",
+ "select_product": "Выберите товар"
},
"actions": {
"view_all": "Смотреть все"
@@ -11,7 +12,8 @@
"active": "Активные"
},
"empty": {
- "no_offers": "Нет активных предложений"
+ "no_offers": "Нет активных предложений",
+ "no_products": "Нет доступных товаров"
}
}
}