331 Commits

Author SHA1 Message Date
Ruslan Bakiev
c468bd8679 Redesign header: single row with unified search block
All checks were successful
Build Docker Image / build (push) Successful in 3m6s
- Merge two rows into one: logo + search block + icons
- Search block now contains input and chips together
- Input is bigger with larger tokens
- Remove hero section from landing page
- Update padding to match new header height
2026-01-22 11:38:32 +07:00
Ruslan Bakiev
31f3c622eb Restore landing page + improve header search input
All checks were successful
Build Docker Image / build (push) Successful in 3m11s
- Restore full landing with How it works + Who it's for sections
- Make search input bigger and rounder (rounded-full, shadow)
- Remove border between input and chips
- Bigger badges and icons
2026-01-22 11:27:59 +07:00
Ruslan Bakiev
584a423e86 Redesign header - move search bar into main navigation
All checks were successful
Build Docker Image / build (push) Successful in 3m10s
- Move search input with tokens into center of header
- Remove tabs (Search, Catalog, Orders, Seller)
- Icons (bot, globe, user) remain on right side
- Chips for filter selection below input
- Delete GlobalSearchBar.vue and UnifiedSearchBar.vue
- Share searchQuery via useState across composable calls
- Simplify main page to just show hero
2026-01-22 11:22:44 +07:00
Ruslan Bakiev
13325825d7 Fix map clustering for all grid modes
All checks were successful
Build Docker Image / build (push) Successful in 3m29s
2026-01-22 11:10:28 +07:00
Ruslan Bakiev
166c404ff6 Main page shows hero, redirects to /catalog on first selection
Some checks failed
Build Docker Image / build (push) Has been cancelled
2026-01-22 11:08:57 +07:00
Ruslan Bakiev
d837b9b90b Fix unified catalog: add map, tokens inside input, redirect from main
Some checks failed
Build Docker Image / build (push) Has been cancelled
- Main page (/) now redirects to /catalog
- Catalog page uses CatalogPage component with map on the right
- Search bar tokens are now inside the input field (like Gmail)
- Removed separate grid components, using cards directly
- Added missing translations (refine, noResults)
2026-01-22 11:06:58 +07:00
Ruslan Bakiev
08d7e0ade9 Implement unified catalog search with token-based filtering
All checks were successful
Build Docker Image / build (push) Successful in 3m23s
- Add useCatalogSearch composable for managing unified search state
- Add UnifiedSearchBar component with token chips for filters
- Add CatalogHero component for empty/landing state
- Create grid components for each display mode:
  - CatalogGridProducts, CatalogGridSuppliers, CatalogGridHubs
  - CatalogGridHubsForProduct, CatalogGridProductsFromSupplier
  - CatalogGridProductsInHub, CatalogGridOffers
- Add unified catalog page at /catalog with query params
- Remove SubNavigation from catalog section (kept for other sections)
- Update all links to use new unified catalog paths
- Delete old nested catalog pages (offers/suppliers/hubs flows)
- Add i18n translations for catalog section
2026-01-22 10:57:30 +07:00
Ruslan Bakiev
01f0836173 Move transport icons to bottom of HubCard
Some checks failed
Build Docker Image / build (push) Failing after 7m41s
2026-01-22 10:06:51 +07:00
Ruslan Bakiev
bd176973a8 Add verified badge top-right on SupplierCard, transport icons on HubCard
Some checks failed
Build Docker Image / build (push) Has been cancelled
2026-01-22 10:05:59 +07:00
Ruslan Bakiev
09e5889feb Fix supplier products page to use 3-column grid
All checks were successful
Build Docker Image / build (push) Successful in 3m23s
2026-01-22 09:58:34 +07:00
Ruslan Bakiev
f72cd40b42 Navigation: bg-base-100 with shadow instead of bg-base-200
All checks were successful
Build Docker Image / build (push) Successful in 3m13s
2026-01-22 09:53:47 +07:00
Ruslan Bakiev
5ad9b7834b Sync cupcake theme from orderflow - brighter colors, more rounded
All checks were successful
Build Docker Image / build (push) Successful in 3m9s
2026-01-22 09:47:52 +07:00
Ruslan Bakiev
aabee550d2 Fix theme application - use cupcake instead of removing data-theme
All checks were successful
Build Docker Image / build (push) Successful in 3m13s
2026-01-22 09:39:46 +07:00
Ruslan Bakiev
b5d27a3a20 Add cupcake theme to daisyUI config
All checks were successful
Build Docker Image / build (push) Successful in 3m18s
2026-01-22 09:17:08 +07:00
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
16c0a8112e Add offer detail page /catalog/offers/[offerId]
All checks were successful
Build Docker Image / build (push) Successful in 4m28s
- New page shows offer details, supplier info, and full KYC profile
- Updated CalcResultContent to navigate to offer page on card click
2026-01-21 14:53:27 +07:00
Ruslan Bakiev
c1ae984fcc Add KycProfileCard component with full company info
Some checks failed
Build Docker Image / build (push) Has been cancelled
- New KycProfileCard shows full KYC profile data (INN, OGRN, director, capital, activities)
- Added to offer detail page /catalog/suppliers/[supplierId]/[productId]/[hubId]
- Uses kycProfileFull endpoint for authorized detailed company info
2026-01-21 14:52:01 +07:00
Ruslan Bakiev
1b0fae1164 Fix map click in server clustering mode when item not loaded
All checks were successful
Build Docker Image / build (push) Successful in 3m34s
When using server-side clustering, the clicked item's uuid might not be
in the paginated props.items array. Now emits a minimal object with just
uuid so parent pages can still navigate.
2026-01-21 14:40:38 +07:00
Ruslan Bakiev
9787dc2b2a Fix: Update russia.vue to use CreateKycApplicationRussiaDocument
All checks were successful
Build Docker Image / build (push) Successful in 3m26s
2026-01-21 09:46:50 +07:00
Ruslan Bakiev
26f4dbab4c Update generated GraphQL types for kycProfileTeaser/Full
Some checks failed
Build Docker Image / build (push) Failing after 1m37s
2026-01-21 09:44:05 +07:00
Ruslan Bakiev
ccaa0d49f8 Update GraphQL queries: companyTeaserByProfile → kycProfileTeaser
Some checks failed
Build Docker Image / build (push) Failing after 1m59s
2026-01-21 09:40:42 +07:00
Ruslan Bakiev
dac73a49c7 Update KYC operations and run codegen
Some checks failed
Build Docker Image / build (push) Failing after 1m30s
2026-01-21 09:31:02 +07:00
Ruslan Bakiev
253ad024f6 Add price to route card on offer page
Some checks failed
Build Docker Image / build (push) Failing after 1m46s
2026-01-21 09:28:43 +07:00
Ruslan Bakiev
5617b8b916 Add price and supplier info to offer page
Some checks failed
Build Docker Image / build (push) Failing after 1m23s
2026-01-21 09:26:55 +07:00
Ruslan Bakiev
ace458ed7e Add KYC profile integration and SupplierInfoBlock component
Some checks failed
Build Docker Image / build (push) Failing after 2m51s
2026-01-21 09:19:44 +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
42c8688561 Simplify catalog root pages - show only 'Выберите...' hint
All checks were successful
Build Docker Image / build (push) Successful in 4m9s
2026-01-19 12:09:18 +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
5b715ef46f Fix getMockPriceHistory function name in offers page
All checks were successful
Build Docker Image / build (push) Successful in 4m0s
2026-01-19 11:18:43 +07:00
Ruslan Bakiev
0a79b90d1c Replace breadcrumbs with key-value badges in search bar
All checks were successful
Build Docker Image / build (push) Successful in 4m0s
- Add key property to FilterOption interface in CatalogSearchBar
- Display badges in "Key: Value" format (e.g., "Поставщик: Name")
- Remove SuppliersBreadcrumbs from supplier catalog pages
- Add navigationFilters computed with supplier/product/hub badges
- Add handleRemoveFilter to navigate back when badge is clicked
2026-01-19 11:09:58 +07:00
Ruslan Bakiev
bfbab9cef4 Unify catalog cards and fix offer point color
Some checks failed
Build Docker Image / build (push) Failing after 3m51s
- Change point color on /catalog/offers to green (#22c55e)
- Replace custom route card with OfferResultCard on supplier hub page
2026-01-19 10:53:27 +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
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
7968a32fd4 Fix map layout: use sticky instead of fixed, add rounded corners and shadow
All checks were successful
Build Docker Image / build (push) Successful in 4m20s
2026-01-16 16:27:39 +07:00
Ruslan Bakiev
62dea50abb Add catalogProducts translations to common.json
All checks were successful
Build Docker Image / build (push) Successful in 4m20s
2026-01-16 16:11:12 +07:00
Ruslan Bakiev
100caffaf4 Add missing catalogProducts translations
All checks were successful
Build Docker Image / build (push) Successful in 4m15s
2026-01-16 15:51:43 +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
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
e869c2065f Use supplier.uuid for geo query instead of teamUuid
All checks were successful
Build Docker Image / build (push) Successful in 4m12s
2026-01-16 10:52:01 +07:00
Ruslan Bakiev
273990899f Fix offer.lines - read productUuid directly from offer
All checks were successful
Build Docker Image / build (push) Successful in 4m16s
2026-01-16 10:35:13 +07:00
Ruslan Bakiev
cdf4b3069f fix(catalog): fix supplier products and remove old offers page
All checks were successful
Build Docker Image / build (push) Successful in 4m23s
- Fix computed products to read from offer directly instead of offer.lines
- Remove obsolete offers/[uuid].vue (replaced by new flow)
2026-01-16 09:38:17 +07:00
Ruslan Bakiev
3b0418f328 fix(catalog): use supplier.uuid instead of teamUuid for navigation
All checks were successful
Build Docker Image / build (push) Successful in 5m25s
- SupplierCard.vue: use supplier.uuid in link generation
- products/[id].vue: get uuid from supplier profile and use it for navigation

Fixes 404 errors on supplier pages
2026-01-16 09:11:46 +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