From 1e87a1406558fa2f12e73a2be2c68614fc9dbd45 Mon Sep 17 00:00:00 2001 From: Ruslan Bakiev Date: Fri, 16 Jan 2026 00:52:47 +0700 Subject: [PATCH] feat(catalog): implement step-by-step navigation for offers and suppliers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Transform offers/index.vue to show products list with sparkline charts - Create nested routes for offers: /offers → /offers/[productId] → /offers/[productId]/[hubId] - Create nested routes for suppliers: /suppliers → /suppliers/[supplierId] → /suppliers/[supplierId]/[productId] → /suppliers/[supplierId]/[productId]/[hubId] - Add OffersBreadcrumbs and SuppliersBreadcrumbs components for navigation - Update HubCard to accept custom linkTo prop - Key difference: Suppliers calculation uses FindRoutes (single source), Offers uses FindProductRoutes (all sources) --- app/components/catalog/HubCard.vue | 6 +- app/components/catalog/OffersBreadcrumbs.vue | 51 +++ .../catalog/SuppliersBreadcrumbs.vue | 63 +++ .../catalog/offers/[productId]/[hubId].vue | 301 ++++++++++++++ .../catalog/offers/[productId]/index.vue | 163 ++++++++ app/pages/catalog/offers/index.vue | 212 +++------- app/pages/catalog/suppliers/[id].vue | 255 ------------ .../[supplierId]/[productId]/[hubId].vue | 367 ++++++++++++++++++ .../[supplierId]/[productId]/index.vue | 244 ++++++++++++ .../catalog/suppliers/[supplierId]/index.vue | 202 ++++++++++ 10 files changed, 1451 insertions(+), 413 deletions(-) create mode 100644 app/components/catalog/OffersBreadcrumbs.vue create mode 100644 app/components/catalog/SuppliersBreadcrumbs.vue create mode 100644 app/pages/catalog/offers/[productId]/[hubId].vue create mode 100644 app/pages/catalog/offers/[productId]/index.vue delete mode 100644 app/pages/catalog/suppliers/[id].vue create mode 100644 app/pages/catalog/suppliers/[supplierId]/[productId]/[hubId].vue create mode 100644 app/pages/catalog/suppliers/[supplierId]/[productId]/index.vue create mode 100644 app/pages/catalog/suppliers/[supplierId]/index.vue diff --git a/app/components/catalog/HubCard.vue b/app/components/catalog/HubCard.vue index b52b96f..da02a61 100644 --- a/app/components/catalog/HubCard.vue +++ b/app/components/catalog/HubCard.vue @@ -1,7 +1,7 @@