Commit Graph
45 Commits
Author SHA1 Message Date
Ruslan Bakiev 45ec9923e3 feat(catalog): add map to all catalog pages
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
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
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
Ruslan Bakiev 210d3e935c feat: вложенные роуты хаб/товар с хлебными крошками
Build Docker Image / build (push) Successful in 4m34s
- /catalog/hubs/[id] — список товаров с графиками
- /catalog/hubs/[id]/[productId] — страница товара с большим графиком и предложениями
- CatalogBreadcrumbs — компонент хлебных крошек
2026-01-16 00:25:41 +07:00
Ruslan Bakiev bab0e9e539 refactor: убрать автовыбор продукта, карточки на всю ширину
Build Docker Image / build (push) Successful in 4m53s
2026-01-16 00:02:17 +07:00
Ruslan Bakiev 25030f0350 feat: добавить мок-данные графиков цен на карточки продуктов
Build Docker Image / build (push) Successful in 4m43s
2026-01-15 23:50:52 +07:00
Ruslan Bakiev 71663186e2 refactor: убрать ring бордер с карточки продукта
Build Docker Image / build (push) Successful in 4m34s
2026-01-15 23:39:35 +07:00
Ruslan Bakiev 0337cebc63 Simplify OfferResultCard and use daisyUI Steps
Build Docker Image / build (push) Successful in 4m42s
- Remove sourceName, latitude, longitude props from OfferResultCard
- Remove LocationMiniMap component (not needed, main map is on the side)
- Convert RouteStepper to use daisyUI steps-horizontal
- Update hub page and CalcResultContent to remove unused props
2026-01-15 00:33:17 +07:00
Ruslan Bakiev f03554893b Update OfferResultCard: add location, mini map, fix price format
Build Docker Image / build (push) Successful in 4m30s
- Remove distance from right side (shown in stepper)
- Change price format to symbol + formatted number (e.g. $1,200/тонна)
- Add locationName prop for displaying offer location
- Add LocationMiniMap component for showing point on map
- Update hub page and CalcResultContent to pass coordinates
2026-01-15 00:07:21 +07:00
Ruslan Bakiev de95dbd059 Unify offer cards: RouteStepper + OfferResultCard components
Build Docker Image / build (push) Successful in 4m36s
- Add RouteStepper component with transport icons (🚛 🚂 🚢)
- Add OfferResultCard with price, distance, route stages
- Update hub page to use OfferResultCard
- Update CalcResultContent to use OfferResultCard
2026-01-14 23:47:42 +07:00
Ruslan Bakiev 1c19e5cb78 Use Card components instead of buttons for product selection
Build Docker Image / build (push) Successful in 4m30s
2026-01-14 23:34:34 +07:00
Ruslan Bakiev c780c638ba Redesign hub detail page: buttons instead of select, show prices
Build Docker Image / build (push) Successful in 4m37s
2026-01-14 23:26:03 +07:00
Ruslan Bakiev 23bdd926bf fix: header height 118 -> 104px
Build Docker Image / build (push) Successful in 4m28s
2026-01-14 22:49:59 +07:00
Ruslan Bakiev 8a0a32ce6b fix: remove overflow-hidden from header
Build Docker Image / build (push) Successful in 4m40s
2026-01-14 22:43:00 +07:00
Ruslan Bakiev ff2b25d8c7 fix: catalog layout - header height, search width, overflow
Build Docker Image / build (push) Successful in 4m47s
2026-01-14 22:36:37 +07:00
Ruslan Bakiev 6f16c862f4 feat: smooth scroll animation for catalog header
Build Docker Image / build (push) Successful in 4m41s
- Dynamic top positioning based on scrollY
- Chevron inside SearchBar for expand/collapse
- All layers position:fixed with calculated offsets
2026-01-14 22:03:27 +07:00
Ruslan Bakiev c10c085b70 feat: new catalog layout with all fixed layers
Build Docker Image / build (push) Successful in 4m38s
- Add catalog.vue layout with all layers position:fixed
- Layer 1: MainNavigation (fixed top-0, bg-base-200)
- Layer 2: SubNavigation (fixed top-16, bg-base-200)
- Layer 3: SearchBar (fixed, bg-base-100)
- Layer 4: Map (fixed, right side, to bottom)
- Update hubs page to use new layout with Teleport
- Collapsible header on scroll
2026-01-14 21:48:09 +07:00
Ruslan Bakiev 9d0b1a6b15 feat: collapsible header on scroll for catalog pages
Build Docker Image / build (push) Successful in 4m24s
- Add useScrollCollapse composable to track scroll and collapse state
- Update topnav.vue to show collapsed bar with chevron when scrolled
- Add collapse button (chevron up) to SubNavigation
- Make SubNavigation sticky below MainNavigation
- Update CatalogPage map/searchbar positions based on header state
2026-01-14 21:34:06 +07:00
Ruslan Bakiev fbcfc6caf8 refactor(hub): use CatalogPage component for split layout
Build Docker Image / build (push) Successful in 4m19s
2026-01-09 01:33:03 +07:00
Ruslan Bakiev cd2c8afff1 refactor(hub): replace sections with sources list and map
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 6b2208f0ae Add KYC translations, AI button, improve chat, swap homepage sections
Build Docker Image / build (push) Has been cancelled
- Add missing kycOverview.list translations (en + ru)
- Add AI assistant button to navigation (left of globe)
- Improve AI chat layout: fixed textarea at bottom, full width
- Swap homepage sections: How it works before Who it's for
2026-01-08 13:58:09 +07:00
Ruslan Bakiev 34c7404a42 Refactor navigation and fix UI issues
Build Docker Image / build (push) Successful in 4m13s
- Add py-4 to main layout for detail page padding
- Show search widget only on main page (not all catalog pages)
- Add 4 menu items: Search, Catalog, Orders, Seller
- Fix orders page click to navigate to order detail
- Update CatalogPage map positioning for new nav structure
- Add search translation to cabinetNav i18n files
2026-01-08 13:26:23 +07:00
Ruslan Bakiev f3e0260325 Fix search widget destination field not passing mode=search
Build Docker Image / build (push) Successful in 4m1s
When clicking destination in GlobalSearchBar, now passes ?mode=search
to /select-location so the selection gets saved to searchStore
2026-01-08 13:18:05 +07:00
Ruslan Bakiev 675ccc2064 Add hasSubNav prop for map positioning (3 vs 2 nav levels)
Build Docker Image / build (push) Successful in 3m58s
2026-01-08 13:11:13 +07:00
Ruslan Bakiev 53904ead05 Fix: offers map coords, map position, orders filter, select-location layout
Build Docker Image / build (push) Successful in 3m38s
2026-01-08 13:01:54 +07:00
Ruslan Bakiev 8d1b7c6dc7 Unify CatalogPage: fixed map, hover support, delete ListMapLayout
Build Docker Image / build (push) Successful in 4m31s
2026-01-08 11:15:54 +07:00
Ruslan Bakiev 4057bce4be Update generated GraphQL types
Build Docker Image / build (push) Successful in 3m58s
2026-01-08 10:56:35 +07:00
Ruslan Bakiev d6865d2129 UI improvements: filters, map layout, search bar
Build Docker Image / build (push) Failing after 1m29s
- Add hubCountries query and country filter for hubs page
- Add getAvailableProducts query for offers (only products with active offers)
- Add sourceLatitude/sourceLongitude to orders GraphQL
- Fix ListMapLayout with position fixed for proper map height
- GlobalSearchBar: make fields wider, remove unit selector
- Remove status/isVerified filters from suppliers/offers (backend handles this)
2026-01-08 10:42:59 +07:00
Ruslan Bakiev 0c88cf383c Refactor catalog filters: remove badges, use select dropdowns
Build Docker Image / build (push) Successful in 4m21s
- Remove filter from suppliers page (not needed)
- Offers: show all active offers directly, add product type filter as select
- Hubs: change filter from pills to select dropdown
- Create CatalogFilterSelect component for dropdown filters
- Update useCatalogOffers to always filter active, use product filter
2026-01-08 10:08:05 +07:00
Ruslan Bakiev e629025899 Fix UI issues: 3 columns, SubNav label, back button, sticky map, hover flyTo
Build Docker Image / build (push) Successful in 4m14s
- Homepage roles section now shows 3 columns on medium screens
- SubNavigation catalog offers label changed to "Предложения"
- Removed back button from catalog/offers page
- ListMapLayout: sticky map with full height
- ListMapLayout: hover on card flies to location on map
2026-01-08 10:00:59 +07:00
Ruslan BakievandClaude Opus 4.5 1a0305011f Migrate orders and addresses to split layout
Build Docker Image / build (push) Successful in 4m20s
- Use ListMapLayout for two-column list+map view
- Orders: show source locations on map
- Addresses: show address locations on map
- Remove preview map links (map is now inline)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 09:48:23 +07:00
Ruslan BakievandClaude Opus 4.5 ee7b8d0ee4 Remove default layout, migrate all pages to topnav
Build Docker Image / build (push) Has been cancelled
- Add layout: 'topnav' to all 27 pages that were using default layout
- Delete app/layouts/default.vue

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 09:44:26 +07:00
Ruslan BakievandClaude Opus 4.5 b8de322dd2 Unify layouts and create CatalogPage component
Build Docker Image / build (push) Successful in 3m45s
- MainNavigation: center tabs on page (absolute positioning)
- SubNavigation: align left instead of center
- Create CatalogPage universal component for list+map pages
- Migrate catalog pages (offers, suppliers, hubs) to CatalogPage
- Remove PageHeader from clientarea pages (redundant with navigation)
- Add topnav layout to supplier detail page

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 09:38:53 +07:00
Ruslan Bakiev f34c484561 Fix navigation layout and search behavior
Build Docker Image / build (push) Successful in 3m40s
- Reorder topnav components: search bar before submenu
- GlobalSearchBar: use page navigation instead of dropdowns
- Remove icons from MainNavigation and SubNavigation
- Create ListMapLayout universal component for list+map pages
- Migrate catalog pages (offers, suppliers, hubs) to ListMapLayout
2026-01-08 09:16:56 +07:00
Ruslan Bakiev 5d1ce88927 Migrate pages to topnav layout
Build Docker Image / build (push) Failing after 1m20s
2026-01-08 01:08:25 +07:00
Ruslan Bakiev 737ec91473 Add topnav layout with MainNavigation, SubNavigation, GlobalSearchBar, SplitLayout
Build Docker Image / build (push) Failing after 1m25s
2026-01-08 01:03:07 +07:00
Ruslan Bakiev 4235c9f1e9 refactor: redesign AI chat page - full width chat, input pinned to bottom
Build Docker Image / build (push) Successful in 4m5s
2026-01-07 21:52:53 +07:00
Ruslan Bakiev b177a567cf Pin chat input to bottom
Build Docker Image / build (push) Successful in 3m43s
2026-01-07 18:42:19 +07:00
Ruslan Bakiev b65f00bf2e Trigger rebuild
Build Docker Image / build (push) Successful in 3m42s
2026-01-07 18:32:49 +07:00
Ruslan Bakiev 83bfab1742 Fix clientarea AI chat layout 2026-01-07 18:22:25 +07:00
Ruslan Bakiev 8e7271abf3 Fix: check all 4 coordinates in routesForMap filter
Build Docker Image / build (push) Successful in 3m44s
2026-01-07 10:35:40 +07:00
Ruslan Bakiev bddaf6e142 Fix maps: use satellite-streets-v12 style, fix markers visibility
Build Docker Image / build (push) Successful in 3m49s
2026-01-07 10:19:01 +07:00
Ruslan Bakiev 6e0a0d6975 Update webhook URL
Build Docker Image / build (push) Successful in 5m2s
2026-01-07 09:44:56 +07:00
Ruslan Bakiev bf1966b859 Add Gitea Actions CI/CD workflow
Build Docker Image / build (push) Failing after 1m1s
2026-01-07 09:24:11 +07:00
Ruslan Bakiev 3db50d9637 Initial commit from monorepo 2026-01-07 09:10:35 +07:00