Commit Graph

16 Commits

Author SHA1 Message Date
Ruslan Bakiev
4e49da5f9f Fix route conflict: move offer detail page to /offers/detail/[offerId]
All checks were successful
Build Docker Image / build (push) Successful in 3m18s
- Change theme from cmyk to cupcake
- Move [offerId].vue to detail/[offerId].vue to avoid conflict with [productId]/index.vue
- Update all navigation references to use new /catalog/offers/detail/ path
2026-01-22 09:07:26 +07:00
Ruslan Bakiev
796204b3cd Add grid layout for catalog cards + hover shadow
All checks were successful
Build Docker Image / build (push) Successful in 4m8s
- CatalogPage: added gridColumns prop (1/2/3 columns)
- Card: added hover:shadow-lg on interactive cards
- Products, hubs, suppliers pages now use 3-column grid
- Offers remain full-width (gridColumns=1 default)
2026-01-22 08:54:31 +07:00
Ruslan Bakiev
631effdde4 Redirect search to catalog offers flow instead of /request
All checks were successful
Build Docker Image / build (push) Successful in 4m2s
- GlobalSearchBar now redirects to /catalog/offers/[productId]/[hubId]
- GoodsContent redirects to offers flow
- select-location pages redirect to offers flow
- Added quantity tag to offers page
- Added KYC profile loading and offer detail navigation on offers page
2026-01-21 14:59:50 +07:00
Ruslan Bakiev
d8befc8b9f Add hoveredId to all catalog pages for map point highlighting
All checks were successful
Build Docker Image / build (push) Successful in 3m46s
When hovering over a card on the left, the corresponding point
on the map now shows a blue highlight.
2026-01-19 13:01:57 +07:00
Ruslan Bakiev
825128e349 Fix catalog map navigation and hover interactions
All checks were successful
Build Docker Image / build (push) Successful in 3m44s
- Add @select handler to hubs/index.vue and suppliers/index.vue
  for map click navigation
- Add hoveredId props to final pages for point highlighting
  on card hover
- Add "Выберите источник" hint on final pages with sources
2026-01-19 12:40:24 +07:00
Ruslan Bakiev
2abbfd8895 fix(catalog): remove hover/select animations from intermediate pages
All checks were successful
Build Docker Image / build (push) Successful in 3m42s
Animation on map only needed on final pages (routes/sources).
Intermediate pages now navigate directly on card click.

Files changed:
- hubs/index.vue - removed hover/select
- suppliers/index.vue - removed hover/select
- suppliers/[]/[]/index.vue - removed hover
- offers/index.vue - removed hover
- offers/[]/index.vue - removed hover
2026-01-19 12:25:58 +07:00
Ruslan Bakiev
b711d5d3b3 fix(catalog): restore price charts on nested pages
All checks were successful
Build Docker Image / build (push) Successful in 4m10s
Keep charts with simplified headers (no text clutter)
2026-01-19 12:19:59 +07:00
Ruslan Bakiev
fd057528dc chore(catalog): simplify nested page headers, remove charts
Some checks failed
Build Docker Image / build (push) Has been cancelled
- Remove chart components and unused price history code
- Simplify headers to show only hint text
- Keep navigation badges in search bar
2026-01-19 12:16:58 +07:00
Ruslan Bakiev
da29a354ff Add navigation badges to offers and hubs catalog pages
All checks were successful
Build Docker Image / build (push) Successful in 3m52s
- /catalog/offers/[productId] - badge "Товар: Name"
- /catalog/offers/[productId]/[hubId] - badges "Товар", "Хаб"
- /catalog/hubs/[id] - badge "Хаб: Name"
- /catalog/hubs/[id]/[productId] - badges "Хаб", "Товар"

Removed breadcrumb components, replaced with search bar badges
2026-01-19 11:33:36 +07:00
Ruslan Bakiev
804bd9c95d Fix catalog pages UI issues
All checks were successful
Build Docker Image / build (push) Successful in 5m48s
- Remove counter from /catalog/offers search bar
- Add server-clustering to /catalog/offers/[productId]
- Remove transition animations from Card.vue
- Use client-side clustering for suppliers (data from exchange, not geo)
2026-01-19 10:02:41 +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
2253cd20b0 Update catalog pages to use new geo queries
Some checks failed
Build Docker Image / build (push) Failing after 1m35s
- Replace FindProductRoutesDocument with GetOffersToHubDocument
- Replace FindSupplierProductHubsDocument with GetOffersBySupplierProductDocument + GetHubsNearOfferDocument
- Update all catalog pages to use new query naming convention
- Add new GraphQL operation files, remove deprecated ones
2026-01-16 15:40:06 +07:00
Ruslan Bakiev
d9d05a4c21 feat(catalog): add search to all catalog pages
All checks were successful
Build Docker Image / build (push) Successful in 4m55s
Add CatalogSearchBar component with filtering to:
- /catalog/offers - search by product name
- /catalog/offers/[productId] - search by hub name/country
- /catalog/hubs/[id] - search by product name
- /catalog/suppliers/[supplierId] - search by product name
- /catalog/suppliers/[supplierId]/[productId] - search by hub name/country
2026-01-16 02:19:41 +07:00
Ruslan Bakiev
45ec9923e3 feat(catalog): add map to all catalog pages
All checks were successful
Build Docker Image / build (push) Successful in 4m47s
All catalog pages now use CatalogPage component with map on the right side:
- /catalog/hubs/[id] - shows hub on map
- /catalog/offers - shows empty map (products have no coords)
- /catalog/offers/[productId] - shows hubs where product can be delivered
- /catalog/suppliers/[supplierId] - shows supplier location
- /catalog/suppliers/[supplierId]/[productId] - shows hubs for supplier's product
- /catalog/suppliers/[supplierId]/[productId]/[hubId] - shows source and destination
2026-01-16 02:00:31 +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
1e87a14065 feat(catalog): implement step-by-step navigation for offers and suppliers
All checks were successful
Build Docker Image / build (push) Successful in 4m49s
- 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)
2026-01-16 00:52:47 +07:00