diff --git a/app/composables/useCatalogSearch.ts b/app/composables/useCatalogSearch.ts index eedc62c..3038f62 100644 --- a/app/composables/useCatalogSearch.ts +++ b/app/composables/useCatalogSearch.ts @@ -2,7 +2,7 @@ import type { LocationQuery } from 'vue-router' export type SelectMode = 'product' | 'supplier' | 'hub' | null export type DisplayMode = - | 'hero' + | 'map-default' | 'grid-products' | 'grid-suppliers' | 'grid-hubs' @@ -148,8 +148,8 @@ export function useCatalogSearch() { if (supplierId.value) return 'grid-products-from-supplier' if (hubId.value) return 'grid-products-in-hub' - // Empty state - return 'hero' + // Default: show map with all offers + return 'map-default' }) // Check if we're on the main page (not /catalog) diff --git a/app/pages/catalog/index.vue b/app/pages/catalog/index.vue index 6dcba2d..7e29d88 100644 --- a/app/pages/catalog/index.vue +++ b/app/pages/catalog/index.vue @@ -57,9 +57,7 @@ @@ -125,23 +123,25 @@ const cardType = computed(() => { } }) -const showMap = computed(() => displayMode.value !== 'hero') +// Always show map on /catalog +const showMap = computed(() => true) -// Full width map when not in select mode (after filter is selected) -// selectMode is active = grid + map, after selection = only map -const fullWidthMap = computed(() => !selectMode.value && displayMode.value !== 'hero') +// Full width map when not in select mode (after filter is selected or default map view) +// selectMode is active = grid + map, after selection or default = only map +const fullWidthMap = computed(() => !selectMode.value) // Use server clustering for grids that need it const useServerClustering = computed(() => { // Products grid - show offers clusters // Hubs grid - show hubs clusters // Offers grid - show offer clusters - return ['grid-products', 'grid-hubs', 'grid-offers', 'grid-products-from-supplier', 'grid-products-in-hub'].includes(displayMode.value) + // Default map - show all offers clusters + return ['map-default', 'grid-products', 'grid-hubs', 'grid-offers', 'grid-products-from-supplier', 'grid-products-in-hub'].includes(displayMode.value) }) const clusterNodeType = computed(() => { - // For products/offers show offer locations - if (['grid-products', 'grid-offers', 'grid-products-from-supplier', 'grid-products-in-hub'].includes(displayMode.value)) { + // For products/offers/default map show offer locations + if (['map-default', 'grid-products', 'grid-offers', 'grid-products-from-supplier', 'grid-products-in-hub'].includes(displayMode.value)) { return 'offer' } // For hubs show logistics nodes @@ -219,7 +219,7 @@ const currentItems = computed(() => { case 'grid-offers': items = offers.value break - case 'hero': + case 'map-default': default: items = [] } diff --git a/graphql/operations/public/geo/GetProducts.graphql b/graphql/operations/public/geo/GetProducts.graphql index 9fe7314..d6addfd 100644 --- a/graphql/operations/public/geo/GetProducts.graphql +++ b/graphql/operations/public/geo/GetProducts.graphql @@ -2,5 +2,6 @@ query GetProducts { products { uuid name + offersCount } } diff --git a/graphql/operations/public/geo/GetProductsBySupplier.graphql b/graphql/operations/public/geo/GetProductsBySupplier.graphql index 2bec957..738150b 100644 --- a/graphql/operations/public/geo/GetProductsBySupplier.graphql +++ b/graphql/operations/public/geo/GetProductsBySupplier.graphql @@ -2,5 +2,6 @@ query GetProductsBySupplier($supplierUuid: String!) { productsBySupplier(supplierUuid: $supplierUuid) { uuid name + offersCount } } diff --git a/graphql/operations/public/geo/GetProductsNearHub.graphql b/graphql/operations/public/geo/GetProductsNearHub.graphql index 85c7a3a..54e5f8e 100644 --- a/graphql/operations/public/geo/GetProductsNearHub.graphql +++ b/graphql/operations/public/geo/GetProductsNearHub.graphql @@ -2,5 +2,6 @@ query GetProductsNearHub($hubUuid: String!, $radiusKm: Float) { productsNearHub(hubUuid: $hubUuid, radiusKm: $radiusKm) { uuid name + offersCount } }