Fix supplier info and catalog filtering bugs
All checks were successful
Build Docker Image / build (push) Successful in 3m22s

1. Add latitude/longitude to GetSupplierProfile query
   - Without coordinates, supplier merge overwrites geo node data
   - Causes "Supplier has no coordinates" warning and no offers loading
   - Affects: useCatalogInfo.ts loadSupplierInfo() and useCatalogProducts.ts fetchProducts()

2. Add bounds validation in catalog composables
   - Validate bounds coordinates before passing to GraphQL or using in filters
   - Prevents 400 errors when bounds contain NaN/undefined/Infinity
   - Fixed in: useCatalogHubs.ts and useCatalogSuppliers.ts

Fixes:
- https://optovia.ru/catalog?info=supplier:c7f2e3f1-b16a-423d-a947-359e30858d94
- https://optovia.ru/catalog?select=hub 400 error

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Ruslan Bakiev
2026-01-25 21:01:23 +07:00
parent 50375f2a74
commit cc52aa6179
4 changed files with 26 additions and 8 deletions

View File

@@ -78,6 +78,14 @@ export function useCatalogHubs() {
const transportType = selectedFilter.value === 'all' ? null : selectedFilter.value
const country = selectedCountry.value === 'all' ? null : selectedCountry.value
const bounds = filterBounds.value
// Validate bounds coordinates
const validBounds = bounds &&
typeof bounds.west === 'number' && isFinite(bounds.west) &&
typeof bounds.south === 'number' && isFinite(bounds.south) &&
typeof bounds.east === 'number' && isFinite(bounds.east) &&
typeof bounds.north === 'number' && isFinite(bounds.north)
const data = await execute(
GetNodesDocument,
{
@@ -85,12 +93,12 @@ export function useCatalogHubs() {
offset,
transportType,
country,
...(bounds && {
...(validBounds ? {
west: bounds.west,
south: bounds.south,
east: bounds.east,
north: bounds.north
})
} : {})
},
'public',
'geo'