Commit Graph
64 Commits
Author SHA1 Message Date
Ruslan Bakiev 26f4dbab4c Update generated GraphQL types for kycProfileTeaser/Full
Build Docker Image / build (push) Failing after 1m37s
2026-01-21 09:44:05 +07:00
Ruslan Bakiev ccaa0d49f8 Update GraphQL queries: companyTeaserByProfile → kycProfileTeaser
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Build Docker Image / build (push) Successful in 4m20s
2026-01-16 16:11:12 +07:00
Ruslan Bakiev 100caffaf4 Add missing catalogProducts translations
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
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
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
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
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
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
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 5b620f77b3 Improve hub page: new RouteStepper, HubProductCard with ApexCharts
Build Docker Image / build (push) Successful in 4m57s
- Redesign RouteStepper: nodes connected by lines with distance on line
- Add HubProductCard component with sparkline chart background
- Auto-select first product when hub page loads
- Remove placeholder with package-x icon
- Add ApexCharts plugin for charts
- Pass startName/endName to RouteStepper for route visualization
2026-01-15 15:45:26 +07:00
Ruslan Bakiev 97f346ba83 Fix navigation background color: bg-base-100 → bg-base-200
Build Docker Image / build (push) Successful in 4m10s
2026-01-15 13:03:16 +07:00
Ruslan Bakiev 43158924ab Fix smooth scroll animation and map positioning
Build Docker Image / build (push) Successful in 4m4s
- Replace v-show with transform: translateY() for smooth header collapse animation
- Wrap MainNav + SubNav in fixed container with dynamic transform
- Remove sticky positioning from MainNavigation and SubNavigation
- Fix map to extend to screen edge (right-0, no rounded corners)
- Add dynamic padding-top to main for fixed header compensation
2026-01-15 12:51:00 +07:00
Ruslan Bakiev 9b738e6841 Remove py-4 from main to fix gap between SubNav and SearchBar
Build Docker Image / build (push) Successful in 4m12s
2026-01-15 12:32:22 +07:00
Ruslan Bakiev b9f44ecaf4 Fix SearchBar height and remove padding gaps
Build Docker Image / build (push) Successful in 4m24s
2026-01-15 12:15:48 +07:00
Ruslan Bakiev ea7c0b460a Move expand button from separate bar to SearchBar area
Build Docker Image / build (push) Successful in 4m4s
2026-01-15 11:55:41 +07:00
Ruslan Bakiev 46b1a17a23 Fix smooth scroll in CatalogPage - use pixel values from useScrollCollapse
Build Docker Image / build (push) Successful in 4m3s
2026-01-15 11:47:56 +07:00
Ruslan Bakiev 03485b77a5 Refactor: use topnav layout + CatalogPage component
Build Docker Image / build (push) Successful in 4m11s
- Remove catalog.vue layout and useCatalogLayout.ts (broken provide/inject)
- All catalog/clientarea list pages now use topnav layout
- Pages use CatalogPage component for SearchBar + Map functionality
- Clean architecture: layout handles nav, component handles features
2026-01-15 11:18:57 +07:00
Ruslan Bakiev 7ea96a97b3 Refactor catalog layout: replace Teleport with provide/inject
Build Docker Image / build (push) Successful in 4m1s
- Create useCatalogLayout composable for data transfer from pages to layout
- Layout now owns SearchBar and CatalogMap components directly
- Pages provide data via provideCatalogLayout()
- Fixes navigation glitches (multiple SearchBars) when switching tabs
- Support custom subNavItems for clientarea pages
- Unify 6 pages to use catalog layout:
  - catalog/offers, suppliers, hubs
  - clientarea/orders, addresses, offers
2026-01-15 10:49:40 +07:00
Ruslan Bakiev 4bd5b882e0 Fix header heights: MainNav 64px, SubNav 54px, SearchBar 56px
Build Docker Image / build (push) Successful in 4m28s
2026-01-15 10:30:40 +07:00
Ruslan Bakiev 3f5c2d6e60 Migrate offers and suppliers pages to catalog layout with Teleport
Build Docker Image / build (push) Successful in 4m34s
2026-01-15 10:16:35 +07:00
Ruslan Bakiev 9411eb9874 Change body background to base-300 for better color hierarchy
Build Docker Image / build (push) Successful in 6m28s
2026-01-15 10:07:56 +07:00
Ruslan Bakiev e451267c36 Fix search bar top padding on catalog page
Build Docker Image / build (push) Has been cancelled
2026-01-15 10:04:45 +07:00
Ruslan Bakiev 25da16f854 Make search bar sticky third navigation bar
Build Docker Image / build (push) Successful in 5m17s
- Add sticky positioning with proper styling (bg, border-b)
- Use negative margins to span full width like nav bars
- Update map offset to account for 3 bars (11rem with search bar)
2026-01-14 13:06:30 +07:00
Ruslan Bakiev 479412d901 Hide duplicate counter in pagination when search bar is present
Build Docker Image / build (push) Successful in 5m27s
Add hideCounter prop to PaginationLoadMore and use it on hubs page
2026-01-14 12:57:58 +07:00
Ruslan Bakiev 7bd5000dc4 Fix map positioning when search bar is present
Build Docker Image / build (push) Successful in 5m13s
Use dynamic mapTopClass/mapHeightClass based on searchBar slot:
- With searchBar: top-44 (176px), height calc(100vh-12rem)
- Without searchBar: top-32 (128px), height calc(100vh-9rem)
2026-01-14 12:50:57 +07:00
Ruslan Bakiev 134b8a5eb4 Add CatalogSearchBar component with filter badges
Build Docker Image / build (push) Successful in 5m8s
- Create CatalogSearchBar.vue with search input, filter badges (× to remove), filter dropdown, counter, sort dropdown
- Integrate searchBar slot into CatalogPage with displayedCount and totalCount
- Update hubs page to use CatalogSearchBar with transport type and country filters
- Add translations for search bar in common.json
- Add transport/country filter labels in catalogHubsSection.json
2026-01-14 12:31:38 +07:00
Ruslan Bakiev a493d2cf01 Add map improvements: hover highlight, fitBounds, search checkbox
Build Docker Image / build (push) Successful in 5m45s
2026-01-14 12:09:15 +07:00
Ruslan Bakiev c458f851dc Fix map clusters: use Apollo client, remove flyTo on hover
Build Docker Image / build (push) Successful in 4m48s
2026-01-14 11:50:39 +07:00
Ruslan Bakiev 46f8e97ee9 feat: add server-side clustering to CatalogPage for hubs
Build Docker Image / build (push) Successful in 5m8s
2026-01-14 11:16:26 +07:00
Ruslan Bakiev b75459c8be fix: remove separate /map pages, add hover highlight to CatalogPage
Build Docker Image / build (push) Successful in 4m48s
- Delete hubs/map.vue, offers/map.vue, suppliers/map.vue
- Pass hoveredId to CatalogMap for marker highlighting
- Split view on main pages (like Airbnb) is the correct approach
2026-01-14 10:46:04 +07:00
Ruslan Bakiev 844878ce85 feat(map): add server-side h3 clustering and hover highlight
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 01e8eb2cfa fix: separate list items from map points in orders page
Build Docker Image / build (push) Successful in 4m58s
- Add mapItems prop to CatalogPage for separate map data
- List shows one card per order, map shows source+dest points
- Fix hover to match by orderUuid pattern
2026-01-08 14:52:58 +07:00
Ruslan Bakiev 75ef38c8b2 feat: show source and destination points on orders map
Build Docker Image / build (push) Successful in 5m18s
Use coordinates from stages to display both origin and destination
2026-01-08 14:35:59 +07:00
Ruslan Bakiev 13f60bd022 feat: show transport type on routes + unify map height
Build Docker Image / build (push) Successful in 4m33s
- Add transportType display (🚂 ЖД / 🚛 Авто) in RouteStagesList
- Pass transportType from CalcResultContent to RouteStagesList
- Unify map height in CatalogPage for orders/addresses pages
2026-01-08 14:22:37 +07:00
Ruslan Bakiev 821dd72809 fix(ui): hide SubNavigation on home page, reorder sections, remove description
Build Docker Image / build (push) Successful in 4m9s
2026-01-08 14:01:18 +07:00
Ruslan Bakiev 1a2693bcd6 feat(ui): redesign GlobalSearchBar, split layouts, and remove hero section
Build Docker Image / build (push) Successful in 5m25s
- Make GlobalSearchBar functional with searchStore integration
- Add destination search using hubs/nodes GraphQL query
- Navigate to /request page instead of /catalog/offers
- Remove hero section from index.vue (search is now in header)
- Add padding (px-3 lg:px-6) to topnav layout
- Implement split layout for catalog pages (offers, hubs, suppliers)
  - Left side: filters + scrollable card list (40%)
  - Right side: map (60%, hidden on mobile)
2026-01-08 08:13:22 +07:00
Ruslan Bakiev 1e179ab04c fix: correct import path for GetProductsDocument
Build Docker Image / build (push) Successful in 3m47s
2026-01-08 07:48:55 +07:00
Ruslan Bakiev c4d0ddb14b fix: remove missing logo.svg reference
Build Docker Image / build (push) Failing after 1m3s
2026-01-08 07:45:25 +07:00
Ruslan Bakiev a0c6b3b667 fix: remove @apply with daisyUI classes from scoped styles
Build Docker Image / build (push) Failing after 1m3s
Move Tailwind/daisyUI classes directly to template instead of using
@apply in scoped styles. Tailwind 4 @reference directive doesn't
support daisyUI custom classes like text-base-content/70, bg-base-200.

Files fixed:
- MainNavigation.vue
- SubNavigation.vue
- GlobalSearchBar.vue
2026-01-08 07:42:59 +07:00
Ruslan Bakiev 6d1dd4eac5 fix: add @reference directive for Tailwind 4 scoped styles
Build Docker Image / build (push) Failing after 1m46s
Add @reference 'tailwindcss' to components using @apply in scoped styles:
- MainNavigation.vue
- SubNavigation.vue
- GlobalSearchBar.vue

Required for Tailwind CSS 4 compatibility with scoped Vue styles.
2026-01-08 07:35:56 +07:00
Ruslan Bakiev 8eb0766c2f chore: regenerate graphql types with UpdateTeamAddress
Build Docker Image / build (push) Successful in 4m54s
2026-01-07 16:21:00 +07:00
Ruslan Bakiev 4f57686364 fix(ai): use LangServe message format (type instead of role)
Build Docker Image / build (push) Successful in 4m3s
2026-01-07 16:16:45 +07:00
Ruslan Bakiev 41a3b3ba39 chore: trigger rebuild with LANG_AGENT_URL
Build Docker Image / build (push) Successful in 4m5s
2026-01-07 15:45:53 +07:00
Ruslan BakievandClaude Opus 4.5 ce30652252 feat(catalog): two-level offers navigation + map auto-centering
Build Docker Image / build (push) Successful in 3m45s
- Add fitBounds to CatalogMap for auto-centering on all points
- Add productUuid filter to useCatalogOffers composable
- Create useCatalogProducts composable for products list
- Update offers/index.vue: show products first, then offers by product
- Update offers/map.vue: same two-level navigation
- Add translations for new UI elements

Navigation flow:
/catalog/offers → product selection → offers for that product

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 15:09:14 +07:00
Ruslan BakievandClaude Opus 4.5 ee2374f92a fix: full width for select-location page + restore space fly animation
Build Docker Image / build (push) Successful in 4m1s
- Remove max-w-4xl constraint on /select-location page
- Replace simple easeTo with flyThroughSpace in CatalogMap
  (2-phase animation: zoom out to space, then fly to target)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 14:03:19 +07:00