Commit Graph

17 Commits

Author SHA1 Message Date
Ruslan Bakiev
2dbe600d8a refactor: remove all any types, add strict GraphQL scalar typing
All checks were successful
Build Docker Image / build (push) Successful in 4m3s
- Add strictScalars: true to codegen.ts with proper scalar mappings
  (Date, Decimal, JSONString, JSON, UUID, BigInt → string/Record)
- Replace all ref<any[]> with proper GraphQL-derived types
- Add type guards for null filtering in arrays
- Fix bugs exposed by typing (locationLatitude vs latitude, etc.)
- Add interfaces for external components (MapboxSearchBox)

This enables end-to-end type safety from GraphQL schema to frontend.
2026-01-27 11:34:12 +07:00
Ruslan Bakiev
f9eb027ebd chore: regenerate geo GraphQL types with bounds params
Some checks failed
Build Docker Image / build (push) Has been cancelled
2026-01-26 21:38:44 +07:00
Ruslan Bakiev
65b07271d9 Simplify GEO API - use new list endpoints and routes in nearestOffers
All checks were successful
Build Docker Image / build (push) Successful in 4m11s
- Replace GetNodesDocument with HubsListDocument in useCatalogHubs.ts
- Replace GetSupplierProfilesDocument with SuppliersListDocument in useCatalogSuppliers.ts
- Replace manual grouping with ProductsListDocument in useCatalogProducts.ts
- Update nearestOffers to pass hubUuid for server-side route calculation
- Remove RouteToCoordinate calls - routes now included in nearestOffers response
- Delete 15 obsolete GraphQL files
- Add 3 new list endpoints: HubsList, SuppliersList, ProductsList
- Fix TypeScript errors in CalcResultContent, LocationsContent, hubs page, location store
2026-01-26 14:08:21 +07:00
Ruslan Bakiev
2b6cccdead Fix all TypeScript errors and remove Storybook
All checks were successful
Build Docker Image / build (push) Successful in 5m8s
- Remove all Storybook files and configuration
- Add type declarations for @vueuse/core, @formkit/core, vue3-apexcharts
- Fix TypeScript configuration (typeRoots, include paths)
- Fix Sentry config - move settings to plugin
- Fix nullable prop assignments with ?? operator
- Fix type narrowing issues with explicit type assertions
- Fix Card component linkable computed properties
- Update codegen with operationResultSuffix
- Fix GraphQL operation type definitions
2026-01-26 00:32:36 +07:00
Ruslan Bakiev
ed7dec304f Update geo GraphQL types after backend fixes
All checks were successful
Build Docker Image / build (push) Successful in 3m25s
2026-01-25 22:20:47 +07:00
Ruslan Bakiev
7403d4f063 Add coordinate-based GraphQL operations for geo API
All checks were successful
Build Docker Image / build (push) Successful in 3m31s
- Add NearestHubs.graphql - find hubs near coordinates
- Add NearestOffers.graphql - find offers near coordinates
- Add NearestSuppliers.graphql - find suppliers near coordinates
- Add RouteToCoordinate.graphql - route from offer to coordinates
- Regenerate geo-generated.ts with new operations

These operations simplify frontend logic by working with coordinates
instead of requiring entity-specific queries.
2026-01-25 17:28:40 +07:00
Ruslan Bakiev
9b99d8981c Optimize catalog loading: backend bounds filtering + early returns
All checks were successful
Build Docker Image / build (push) Successful in 4m12s
- Add bounds (west/south/east/north) parameters to GetNodes query
- Add setBoundsFilter to useCatalogHubs, useCatalogSuppliers, useCatalogProducts
- Replace client-side bounds filtering with backend query
- Add early return to setProductFilter to avoid redundant fetches
- Watch filterByBounds to trigger backend refetch when checkbox changes
2026-01-24 12:19:00 +07:00
Ruslan Bakiev
8c753edb28 Add cascading filters for Explore mode
All checks were successful
Build Docker Image / build (push) Successful in 3m34s
When a product is selected, hubs and suppliers are filtered
to show only those that are relevant to that product.
2026-01-24 11:58:56 +07:00
Ruslan Bakiev
ba49a8d24f Regenerate GraphQL types with offersCount field
All checks were successful
Build Docker Image / build (push) Successful in 3m20s
2026-01-22 17:27:16 +07:00
Ruslan Bakiev
43310f5c28 Enable server-side clustering on all catalog pages
All checks were successful
Build Docker Image / build (push) Successful in 4m37s
- Add clusterNodeType prop to CatalogPage
- Update useClusteredNodes to accept nodeType parameter
- Enable server clustering on /offers and /suppliers pages
- Add hoveredId sync on /offers page
- Remove hover:shadow-lg animation from Card
2026-01-16 17:32:59 +07:00
Ruslan Bakiev
d3bc7e9c09 refactor(webapp): Update to use new geo queries - offersByHub, offerToHub
All checks were successful
Build Docker Image / build (push) Successful in 4m23s
- Rename GetOffersToHub → GetOffersByHub
- Rename GetDeliveryToHub → GetOfferToHub
- Delete FindRoutes.graphql, FindProductRoutes.graphql
- Update catalog pages and CalcResultContent to use new query names
- Regenerate GraphQL types
2026-01-16 16:57:30 +07:00
Ruslan Bakiev
0142c1c375 Run codegen with new geo queries
All checks were successful
Build Docker Image / build (push) Successful in 4m21s
2026-01-16 15:43:04 +07:00
Ruslan Bakiev
181dc4ea6b feat: use filtered geo queries for catalog pages
All checks were successful
Build Docker Image / build (push) Successful in 4m57s
- /hubs/[id]: use findProductsForHub to show only deliverable products
- /offers/[productId]: use findHubsForProduct to show only reachable hubs
- /suppliers/[id]/[productId]: use findSupplierProductHubs for supplier-specific hubs
- Add new GraphQL operations for geo queries
2026-01-16 01:42:18 +07:00
Ruslan Bakiev
844878ce85 feat(map): add server-side h3 clustering and hover highlight
All checks were successful
Build Docker Image / build (push) Successful in 4m55s
- Add useClusteredNodes composable for fetching clustered nodes
- Update CatalogMap to support server-side clustering mode
- Add bounds-change event for fetching clusters on map move/zoom
- Add hover event to HubCard for marker highlighting
- Update hubs/map page to use new clustering system
2026-01-14 10:34:44 +07:00
Ruslan Bakiev
cd2c8afff1 refactor(hub): replace sections with sources list and map
All checks were successful
Build Docker Image / build (push) Successful in 4m45s
- Remove Offers, Suppliers, Products, NearbyConnections sections
- Add product filter dropdown
- Show sources list with routes from findProductRoutes API
- Display routes on map using RequestRoutesMap component
- Add i18n keys for sources section (en/ru)
2026-01-09 01:08:56 +07:00
Ruslan Bakiev
4057bce4be Update generated GraphQL types
All checks were successful
Build Docker Image / build (push) Successful in 3m58s
2026-01-08 10:56:35 +07:00
Ruslan Bakiev
3db50d9637 Initial commit from monorepo 2026-01-07 09:10:35 +07:00