Add Explore/Quote dual mode to catalog page
All checks were successful
Build Docker Image / build (push) Successful in 3m52s

- Add CatalogMode type (explore/quote) to useCatalogSearch
- Create ExplorePanel component with view toggle (offers/hubs/suppliers)
- Create QuoteForm and QuotePanel components for search form
- Refactor CatalogPage to fullscreen map with overlay panel
- Simplify catalog/index.vue to use new components
- Add translations for modes and quote form (ru/en)

The catalog now has two modes:
- Explore: Browse map with offers/hubs/suppliers toggle
- Quote: Search form with product/hub/qty filters to find offers
This commit is contained in:
Ruslan Bakiev
2026-01-22 19:13:45 +07:00
parent 749f15131b
commit 850ab3f252
10 changed files with 694 additions and 665 deletions

View File

@@ -40,6 +40,23 @@
"offers": "Offers",
"map": "Map"
},
"modes": {
"explore": "Explore",
"quote": "Get Quote"
},
"quote": {
"title": "Get Quote",
"selectProduct": "Select product",
"selectHub": "Select hub",
"selectSupplier": "Select supplier",
"enterQty": "Quantity (t)",
"search": "Search",
"clear": "Clear"
},
"explore": {
"title": "Explore the market",
"subtitle": "Switch between offers, hubs, and suppliers"
},
"offers": "offer | offers"
}
}

View File

@@ -18,6 +18,7 @@
"success": "Success",
"retry": "Retry",
"back": "Back",
"viewDetails": "View details",
"list": "List",
"map": "Map",
"language": "Language",

View File

@@ -40,6 +40,23 @@
"offers": "Офферы",
"map": "Карта"
},
"modes": {
"explore": "Исследовать",
"quote": "Найти офферы"
},
"quote": {
"title": "Найти офферы",
"selectProduct": "Выберите товар",
"selectHub": "Выберите хаб",
"selectSupplier": "Выберите поставщика",
"enterQty": "Количество (т)",
"search": "Найти",
"clear": "Очистить"
},
"explore": {
"title": "Исследуйте рынок",
"subtitle": "Переключайтесь между офферами, хабами и поставщиками"
},
"offers": "предложение | предложения | предложений"
}
}

View File

@@ -18,6 +18,7 @@
"success": "Успех",
"retry": "Повторить",
"back": "Назад",
"viewDetails": "Подробнее",
"list": "Список",
"map": "Карта",
"language": "Язык",