Commit Graph
100 Commits
Author SHA1 Message Date
Ruslan Bakiev 3a46cfc5dc Homepage: bento magazine layout + dark footer with offices by continent
Build Docker Image / build (push) Successful in 4m6s
- Bento grid with varied card sizes (8-col hero, 4-col stats, 3-col roles)
- Stats cards with gradient backgrounds (500+ suppliers, 24/7 support)
- Dark footer with countries by continent (Europe, CIS, Asia, Americas)
- Office locations (Dubai HQ, Amsterdam, Moscow)
- Quick links for products, services, company, legal
- Security badges in bottom bar
2026-01-29 16:42:23 +07:00
Ruslan Bakiev f4afd362eb Rewrite team/profile/orders pages with bottom sheet (not side panel)
Build Docker Image / build (push) Successful in 4m9s
- All three pages now use CatalogPage + bottom sheet from bottom (70vh)
- Glass style: bg-black/40 backdrop-blur-xl rounded-t-2xl
- Drag handle at top
- Two-column grid layout for team/profile
- Orders list with search and filter
- Map visible in background
2026-01-29 16:34:58 +07:00
Ruslan Bakiev 5a780707dc Homepage Photo Glass Cards - unified visual style
Build Docker Image / build (push) Successful in 4m12s
- Add 6 promo images from Unsplash (wheat, trucks, warehouse, farmer, etc.)
- Replace plain white cards with Photo Glass Cards
- Gradient overlay + backdrop blur for glass effect
- Hover animation (scale 105%)
- Colored accent icons (violet, cyan, rose)
- Matches animated hero visual style
2026-01-29 16:29:57 +07:00
Ruslan Bakiev 886415344d Glass nav fix + team/profile pages with CatalogPage layout
Build Docker Image / build (push) Successful in 4m20s
- Fix glass nav on clientarea pages (add isClientArea to is-collapsed)
- Rewrite team page using CatalogPage with glass panel
- Rewrite profile page using CatalogPage with glass panel
2026-01-29 16:18:33 +07:00
Ruslan Bakiev 6ee8c12e6f Role switcher: dropdown menu with chevron icon
Build Docker Image / build (push) Successful in 3m59s
2026-01-29 16:07:41 +07:00
Ruslan Bakiev bc037e85a4 Simplify role switcher: text + single swap icon
Build Docker Image / build (push) Successful in 4m23s
2026-01-29 16:01:46 +07:00
Ruslan Bakiev 72f2e1c39d Refactor role switcher: single item with arrows on right
Build Docker Image / build (push) Successful in 4m44s
- Remove separate "Кабинет" link and two role buttons
- Add single role switcher: "Я клиент <>" format
- Arrows <> shown only when user has both roles
- Click text → navigate to cabinet, click arrows → switch role
2026-01-29 15:44:52 +07:00
Ruslan Bakiev 3d5215d967 Add role switcher (Client/Seller) in navigation menu
Build Docker Image / build (push) Successful in 4m20s
- Add role switcher buttons after Explore/Quote/Кабинет with separator
- Dynamic center tabs based on role: BUYER shows orders/addresses, SELLER shows offers
- Redirect to appropriate page when switching role in client area
- Add localization for roles.client and roles.seller
2026-01-29 13:53:03 +07:00
Ruslan Bakiev 33c406995f fix(catalog): align QuotePanel style with SelectionPanel/InfoPanel
Build Docker Image / build (push) Successful in 5m2s
2026-01-28 09:29:17 +07:00
Ruslan Bakiev 209d81ec61 fix(clientarea): correct panel widths - orders w-1/2, addresses w-96
Build Docker Image / build (push) Has been cancelled
2026-01-28 09:27:58 +07:00
Ruslan Bakiev 984daa7a84 refactor(clientarea): use CatalogPage with #panel slot for orders/addresses
Build Docker Image / build (push) Successful in 4m21s
- Add panelWidth and hideViewToggle props to CatalogPage
- Update orders page to use CatalogPage with narrow panel (w-50)
- Update addresses page to use CatalogPage with narrow panel (w-50)
- Remove unused ClientAreaMapPage component
2026-01-28 09:19:01 +07:00
Ruslan Bakiev 63e8d47b79 feat(clientarea): modernize orders and addresses pages with new map layout
Build Docker Image / build (push) Successful in 6m13s
- Create ClientAreaMapPage component for client area pages with glass effect
- Update orders page to use new ClientAreaMapPage with filter dropdown
- Update addresses page to use new ClientAreaMapPage with add button
- Remove Profile and Team tabs from MainNavigation (already in user menu)
2026-01-28 09:11:18 +07:00
Ruslan Bakiev f5b95c27ef fix(nav): move Cabinet to nav links next to Explore/Quote
Build Docker Image / build (push) Successful in 5m19s
2026-01-28 05:30:18 +07:00
Ruslan Bakiev 8b0e1900d1 feat(nav): client area tabs in main navigation
Build Docker Image / build (push) Has been cancelled
- Add Cabinet button to header (dashboard icon)
- When in /clientarea/* show tabs instead of search input
- Tabs: Заказы | Предложения (SELLER only) | Адреса | Профиль | Команда
- Hide Explore/Quote toggle in client area
- Remove SubNavigation for clientarea (tabs moved to MainNavigation)
2026-01-28 05:28:16 +07:00
Ruslan Bakiev 45acef9b20 feat(catalog): KYC bottom sheet instead of separate page
Build Docker Image / build (push) Successful in 4m21s
- Add KycBottomSheet component with glass effect (70vh height)
- Animate sheet sliding up from bottom when opening KYC
- InfoPanel hides when KYC sheet is open
- Click outside or X button to close
- Contains all company info: реквизиты, руководство, учредители, контакты, финансы, арбитраж, ОКВЭД
2026-01-28 05:04:20 +07:00
Ruslan Bakiev 1f996d27e5 feat(kyc): comprehensive demo profile page with full business data
Build Docker Image / build (push) Successful in 4m14s
- Реквизиты: ИНН, КПП, ОГРН, ОКПО, дата регистрации
- Руководство с ФИО и должностью
- Учредители с долями владения и уставным капиталом
- Контакты: адрес, телефон, email, сайт
- Финансовые показатели: выручка, прибыль, активы, сотрудники
- Арбитражные дела: истец/ответчик с суммами
- Виды деятельности (ОКВЭД) с основным и дополнительными
- История изменений в виде timeline
2026-01-27 20:35:32 +07:00
Ruslan Bakiev 02419abdd1 feat(kyc): add demo KYC profile page with mock data
Build Docker Image / build (push) Successful in 4m1s
- Always show 'view full profile' button with fallback to demo UUID
- KYC page shows mock data when demo UUID is used
- Add i18n translations for demo page
2026-01-27 20:16:30 +07:00
Ruslan Bakiev 7066c51505 fix(catalog): only show KYC full profile button when kycProfileUuid exists
Build Docker Image / build (push) Successful in 4m6s
2026-01-27 20:10:40 +07:00
Ruslan Bakiev 88d78e9662 feat(catalog): add offers section to InfoPanel after product selection
Build Docker Image / build (push) Successful in 4m33s
- Hide products section when product is selected
- Show offers section with OfferCard components
- Add cancel button to return to product list
- Wire up select-offer event to navigate to offer detail
2026-01-27 15:24:53 +07:00
Ruslan Bakiev 3f7b83bb6d feat(kyc): add KYC profile page, navigate instead of modal
Build Docker Image / build (push) Successful in 4m17s
2026-01-27 12:51:08 +07:00
Ruslan Bakiev b5534d1fd5 feat(catalog): add KYC profile modal on click
Build Docker Image / build (push) Has been cancelled
2026-01-27 12:49:19 +07:00
Ruslan Bakiev 7f8a148aa7 feat(catalog): add KYC teaser section to supplier InfoPanel
Build Docker Image / build (push) Successful in 4m6s
- Add KYC teaser info section (companyType, registrationYear, status, sourcesCount)
- Use mock data for now (backend integration TBD)
- Add 'open-kyc' emit for full profile navigation
- Add kycProfileUuid field to InfoEntity type
- Add i18n translations for both RU and EN
2026-01-27 12:30:00 +07:00
Ruslan Bakiev f269c0daf0 Fix camera jumping when opening InfoPanel
Build Docker Image / build (push) Successful in 4m17s
Replace setTimeout/debounce with event-based approach:
- Add isInfoLoading computed that tracks all info loading states
- Pass infoLoading prop through CatalogPage to CatalogMap
- Watch infoLoading transition from true->false to trigger fitBounds
- Remove setTimeout hack in favor of proper loading state detection
2026-01-27 12:25:15 +07:00
Ruslan Bakiev 497a80f0c6 Fix camera jumping - debounce fitBounds when points load
Build Docker Image / build (push) Has been cancelled
2026-01-27 12:21:35 +07:00
Ruslan Bakiev 5aa460fd8a Fix supplier link - show name instead of 'View supplier'
Build Docker Image / build (push) Has been cancelled
2026-01-27 12:20:06 +07:00
Ruslan Bakiev 805b6795f0 Fix InfoPanel - show supplier name as text, remove button
Build Docker Image / build (push) Has been cancelled
- Remove "View supplier" button, show name as plain text
- Add fallback translation for unknown supplier
2026-01-27 12:15:44 +07:00
Ruslan Bakiev c39bc55ebc Fix InfoPanel for offers - supplier name and map point
Build Docker Image / build (push) Has been cancelled
- Show supplier name with loading state instead of "View Supplier" link
- Fix offer coordinates on map (use locationLatitude/locationLongitude)
2026-01-27 12:12:05 +07:00
Ruslan Bakiev c152a5b14c Update catalog cards - logo right in supplier, sparkline in product
Build Docker Image / build (push) Successful in 3m53s
- SupplierCard: Move logo to right side, text on left
- ProductCard: Generate mock priceHistory from uuid, add product icon
2026-01-27 11:48:46 +07:00
Ruslan Bakiev 2dbe600d8a refactor: remove all any types, add strict GraphQL scalar typing
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 ff34c564e1 Fix InfoPanel map: hide toggle, show current entity, auto-center
Build Docker Image / build (push) Successful in 4m18s
- Hide view mode toggle (offers/hubs/suppliers) when in InfoPanel mode
- Add current entity to relatedPoints so it's visible on the map
- Auto-fit map bounds to show all points (current + related) in InfoPanel mode
2026-01-27 11:25:57 +07:00
Ruslan Bakiev 80474acc0f Update webapp - fix hero animation scroll + dark background
Build Docker Image / build (push) Successful in 4m1s
- Fixed animation height to 100vh to prevent squeeze on scroll
- Added dark slate-900 background for transparent animation
2026-01-27 11:09:14 +07:00
Ruslan Bakiev 859eef3761 Update webapp - fix hero animation to use cover layout
Build Docker Image / build (push) Successful in 3m58s
Use DotLottie's native layout prop with fit: 'cover' instead of
CSS object-cover which doesn't work on canvas elements.
2026-01-27 10:54:41 +07:00
Ruslan Bakiev 7bd4aa37bd Redesign SupplierCard and ProductCard, unify components
Build Docker Image / build (push) Successful in 4m0s
- SupplierCard: horizontal layout with logo left, verified badge before name, chips at bottom
- ProductCard: add optional sparkline background, trend indicator, and price display
- Replace HubProductCard usage with ProductCard in hub detail page
- Remove HubProductCard.vue and PriceSparkline.vue (unified into ProductCard)
2026-01-27 10:49:58 +07:00
Ruslan Bakiev 20e0e73c58 refactor: remove any types and fix TypeScript errors
Build Docker Image / build (push) Successful in 3m59s
- Export InfoProductItem, InfoHubItem, InfoSupplierItem, InfoOfferItem types
- Update InfoEntity interface to have explicit fields (no index signature)
- Export CatalogHubItem, CatalogNearestHubItem from useCatalogHubs
- Fix MapItem interfaces to accept nullable GraphQL types
- Fix v-for :key bindings to handle null uuid
- Add null guards in select-location pages
- Update HubCard to accept nullable transportTypes
- Add shims.d.ts for missing module declarations
2026-01-27 10:35:14 +07:00
Ruslan Bakiev 9210f79a3d Always include mode query param (explore/quote)
Build Docker Image / build (push) Successful in 4m29s
2026-01-27 10:21:09 +07:00
Ruslan Bakiev 65250f1342 Fix hero animation: transparent navbar on home page, glass on collapse
Build Docker Image / build (push) Has been cancelled
2026-01-27 10:19:00 +07:00
Ruslan Bakiev 3f823b2abc Fix hero animation: always use glass style on home page
Build Docker Image / build (push) Successful in 4m8s
2026-01-27 10:09:33 +07:00
Ruslan Bakiev 9b99d8981c Optimize catalog loading: backend bounds filtering + early returns
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
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 726c63efb7 Add GraphQL documents for cascading filters 2026-01-24 11:54:37 +07:00
Ruslan Bakiev 4d018323e7 Fix catalog issues: quantity input, checkbox position, glass header
Build Docker Image / build (push) Successful in 3m21s
1. Quantity input in Quote mode: replaced button with inline number input
2. Checkbox position: moved to left side (next to panel) instead of right
3. MapPanel glass header: fixed sticky positioning by moving negative margins to children
2026-01-24 11:40:33 +07:00
Ruslan Bakiev 690c76ac79 Fix product selection from map offer click
Build Docker Image / build (push) Successful in 3m22s
- Use GetOffer to fetch productUuid (not in cluster data)
- Handle both uuid and id properties from clusters
- Skip cluster items (id starts with 'cluster-')
2026-01-24 11:31:05 +07:00
Ruslan Bakiev 467f099130 Add unified MapPanel component for left map panels
Build Docker Image / build (push) Successful in 3m25s
- Create MapPanel with white glass header, dark content
- Refactor SelectionPanel to use MapPanel
- Refactor QuotePanel to use MapPanel
- Single source of truth for panel styling
2026-01-24 11:20:32 +07:00
Ruslan Bakiev 7c566aeafc Fix SelectionPanel styling + add product filtering by supplier/hub
Build Docker Image / build (push) Successful in 4m3s
- SelectionPanel header: dark glass style instead of white
- useCatalogProducts: filter by supplierId or hubId using dedicated queries
- catalog/index: connect filters from query params to composable
2026-01-24 11:13:22 +07:00
Ruslan Bakiev 2fc4dfb834 Add Airbnb-style "search as I move" checkbox + hover highlight
Build Docker Image / build (push) Successful in 3m33s
- Move filter checkbox to right side, same line as view toggle
- Add hover events on selection cards to highlight map points
- Update translations: "Искать при перемещении" / "Search as I move the map"
2026-01-24 11:07:31 +07:00
Ruslan Bakiev d03564a2d9 Add filter by map bounds checkbox to SelectionPanel
Build Docker Image / build (push) Successful in 3m36s
- Remove map search input (was wrong implementation)
- Add checkbox "In map area" to filter list by visible map bounds
- Filter products/hubs/suppliers when checkbox is enabled
- Disable "load more" when filtering by bounds (client-side only)
2026-01-24 10:54:09 +07:00
Ruslan Bakiev 74324ff337 Fix: align right navbar icons to top like logo
Build Docker Image / build (push) Successful in 3m44s
2026-01-24 10:23:31 +07:00
Ruslan Bakiev 404375248b Fix catalog UI: navbar alignment, selection panel, map search, infinite scroll
Build Docker Image / build (push) Successful in 3m37s
- Fix team selector alignment in navbar (use items-center, fixed height)
- Fix SelectionPanel header padding to account for parent p-4
- Add map search input (white glass, positioned next to panel)
- Add infinite scroll to SelectionPanel with IntersectionObserver
- Products load all at once (no server-side pagination yet)
- Hubs and Suppliers support pagination with loadMore
2026-01-24 10:09:55 +07:00
Ruslan Bakiev 2a607d0d2d Fix catalog UI issues
Build Docker Image / build (push) Successful in 3m31s
1. Fix navbar height - prevent tag wrapping with overflow-hidden
2. Fix translation keys for mode labels and search form labels
3. Fix SelectionPanel - white glass header/search, no top gap
4. Map click fills active selector - emit full properties from map
2026-01-24 09:47:41 +07:00
Ruslan Bakiev 3140226bc3 Navbar glass style only on catalog/map pages
Build Docker Image / build (push) Successful in 3m46s
- Add glassStyle prop to MainNavigation component
- When glassStyle=true: dark transparent bg with white text
- When glassStyle=false: solid bg-base-100 with normal text
- Pass isCatalogSection from layout to toggle glass effect
2026-01-24 09:22:25 +07:00
Ruslan Bakiev 5e55443975 Fix map points: icons, color updates, loading state
Build Docker Image / build (push) Successful in 3m41s
- Add entityType prop to CatalogMap for icon selection
- Change circle layers to symbol layers with entity-specific icons
- Icons: shopping bag (offers), warehouse (hubs), factory (suppliers)
- Add watcher to update colors when pointColor/entityType changes
- Clear old points and show loading indicator when switching view modes
- Add clearNodes function to useClusteredNodes composable
2026-01-24 09:18:27 +07:00
Ruslan Bakiev 63d81ab42f Search forms: white glass style (bg-white/80) for contrast
Build Docker Image / build (push) Successful in 4m26s
2026-01-24 09:11:00 +07:00
Ruslan Bakiev 593aa0df12 Make map fullscreen behind transparent navbar
Build Docker Image / build (push) Successful in 3m14s
2026-01-23 12:48:25 +07:00
Ruslan Bakiev aa5a0a66fa Apply dark glass style (bg-black/30) to navbar, left panel, mobile panel
Build Docker Image / build (push) Successful in 3m13s
2026-01-23 12:30:28 +07:00
Ruslan Bakiev 9d46bab93f Fix nav height, view toggle transparency, dynamic map colors by view mode
Build Docker Image / build (push) Successful in 3m24s
2026-01-23 12:17:40 +07:00
Ruslan Bakiev 655c02d6fc Replace mode toggle with TradeScanner/Search nav links in header
Build Docker Image / build (push) Successful in 3m14s
2026-01-23 12:11:48 +07:00
Ruslan Bakiev 999658aee1 UI: Glass effect everywhere, fix nav height, simplify quote form
Build Docker Image / build (push) Successful in 3m9s
- Fixed nav height (h-20), logo and user menu aligned to top
- Quote form: removed colored circles, simple labels, search button inside pill
- Panels closer to nav (top-4 instead of top-20)
- Glass effect on all overlays (bg-base-100/70 backdrop-blur-md)
- Selection panel sticky headers with glass effect
2026-01-23 11:36:20 +07:00
Ruslan Bakiev f31ceacdee Add catalog.json to i18n config (was missing)
Build Docker Image / build (push) Successful in 3m14s
2026-01-23 11:02:23 +07:00
Ruslan Bakiev 5258347ccb UI fixes: header height, map color, panel scroll
Build Docker Image / build (push) Successful in 3m10s
- MainNavigation: fixed min-height to prevent jumping on mode switch
- CatalogMap: default pointColor changed from green to orange (#f97316)
- CatalogPage: panel scroll on entire container, not inner
- SelectionPanel: sticky header and search, removed inner scroll
2026-01-23 10:53:21 +07:00
Ruslan Bakiev fc6ce31659 Add unified icon system to navigation
Build Docker Image / build (push) Successful in 3m14s
- Chips: colored circle with entity icon (product/hub/supplier)
- Active tokens: outline style with icon in circle
- Quote segments: labeled with colored circle icons
2026-01-23 10:35:59 +07:00
Ruslan Bakiev 4c6f5abd78 UI fixes: identical headers, panel styling, view toggle icons, sync map view
Build Docker Image / build (push) Successful in 3m20s
- Show mode toggle on all pages (not just catalog)
- Panel background base-300, top-20 spacing from navbar
- View toggle with colored icons in circles
- Sync mapViewMode when selecting (supplier chip -> suppliers view)
2026-01-23 10:25:33 +07:00
Ruslan Bakiev c7054579f1 Fix catalog: selection panels instead of modals, remove duplicate QuoteForm
Build Docker Image / build (push) Successful in 3m55s
- Add SelectionPanel.vue for product/hub/supplier selection lists
- Remove QuoteForm from QuotePanel (header already has controls)
- Show SelectionPanel when selectMode is active
- Connect search button in header to page via shared state
2026-01-23 09:56:17 +07:00
Ruslan Bakiev ae9985023c Add mode toggle [Explore|Quote] left of search form in header
Build Docker Image / build (push) Successful in 3m43s
2026-01-22 20:57:37 +07:00
Ruslan Bakiev c0f38a25cd Transform search bar in Quote mode to Airbnb-style segmented input
Build Docker Image / build (push) Successful in 3m21s
- Remove mode toggle [Explore/Quote] tabs from header
- In Quote mode: show segmented input (Product | Hub | Quantity) + Search button
- In Explore mode: keep regular pill input with chips
- Add productLabel, hubLabel, supplierLabel computed values to useCatalogSearch
- Pass Quote mode props to MainNavigation
2026-01-22 20:52:06 +07:00
Ruslan Bakiev 7465b1d6a2 Move mode toggle to TopNav, view toggle to map right
Build Docker Image / build (push) Successful in 3m32s
- Add [Explore/Quote] mode toggle to MainNavigation.vue (TopNav)
- Remove mode toggle from CatalogPage.vue (now in header)
- Move [Offers/Hubs/Suppliers] view toggle from top-left to top-right on map
- View toggle now visible in both modes (Explore and Quote)
- Simplify mobile layout to show only view toggle
2026-01-22 19:32:39 +07:00
Ruslan Bakiev ddf691c83b Refactor catalog layout: mode toggle to top right, view toggle to top left
Build Docker Image / build (push) Successful in 3m35s
- Move Explore/Quote mode toggle to top right corner
- Add view toggle (Offers/Hubs/Suppliers) to top left in Explore mode
- Panel shows only in Quote mode when showPanel prop is true
- Simplified panel slot structure
2026-01-22 19:20:11 +07:00
Ruslan Bakiev 850ab3f252 Add Explore/Quote dual mode to catalog page
Build Docker Image / build (push) Successful in 3m52s
- Add CatalogMode type (explore/quote) to useCatalogSearch
- Create ExplorePanel component with view toggle (offers/hubs/suppliers)
- Create QuoteForm and QuotePanel components for search form
- Refactor CatalogPage to fullscreen map with overlay panel
- Simplify catalog/index.vue to use new components
- Add translations for modes and quote form (ru/en)

The catalog now has two modes:
- Explore: Browse map with offers/hubs/suppliers toggle
- Quote: Search form with product/hub/qty filters to find offers
2026-01-22 19:13:45 +07:00
Ruslan Bakiev 749f15131b Add map view toggle for fullWidthMap mode
Build Docker Image / build (push) Successful in 3m25s
- Add MapViewMode type (offers/hubs/suppliers) with cookie storage
- Add view toggle button group on full-width map
- Update clusterNodeType and mapPointColor based on selected view
- Add translations for view options
2026-01-22 18:41:38 +07:00
Ruslan Bakiev 2d86c79b06 Fix: escape @ in email placeholder for vue-i18n
Build Docker Image / build (push) Successful in 3m29s
2026-01-22 18:00:01 +07:00
Ruslan Bakiev eb664c0387 Add missing translations for LocationsContent, Notifications, KYCFormRussia, TopBar
Build Docker Image / build (push) Failing after 47s
2026-01-22 17:45:57 +07:00
Ruslan Bakiev ba49a8d24f Regenerate GraphQL types with offersCount field
Build Docker Image / build (push) Successful in 3m20s
2026-01-22 17:27:16 +07:00
Ruslan Bakiev 062fcd2a50 Show map by default on /catalog, add offersCount to products
Build Docker Image / build (push) Successful in 3m27s
- Change displayMode from 'hero' to 'map-default' for /catalog
- Always show map on catalog page (fullWidthMap when no selectMode)
- Add offersCount to GetProducts, GetProductsBySupplier, GetProductsNearHub
- Remove CatalogHero from catalog page (hero content stays on /)
2026-01-22 17:22:22 +07:00
Ruslan Bakiev 39f8364edb Improve catalog UX: remove category, add offers count, dynamic layout
Build Docker Image / build (push) Successful in 3m37s
- ProductCard: remove category field, add offersCount display
- CatalogPage: add fullWidthMap prop for map-only view
- catalog/index: pass fullWidthMap based on selectMode
- i18n: add offers pluralization
2026-01-22 16:59:33 +07:00
Ruslan Bakiev 6da5bf10c9 Remove shadow from search input
Build Docker Image / build (push) Successful in 4m2s
2026-01-22 11:55:39 +07:00
Ruslan Bakiev 863425e46e Restore original token/chip styling in header search
Build Docker Image / build (push) Has been cancelled
- Restore badge-lg for tokens (was badge-md)
- Restore btn btn-xs btn-ghost for chips (was minimal text)
- Restore text-lg for input, icon sizes 14/22
- Keep pill input design without card wrapper
2026-01-22 11:55:08 +07:00
Ruslan Bakiev 8c4613e0d6 Simplify header: clean pill input without card styling
Build Docker Image / build (push) Has been cancelled
- Remove shadow and extra padding from input
- Smaller, cleaner tokens (badge-md)
- Minimal chips styling (just text links)
- Reduce header height
2026-01-22 11:52:31 +07:00
Ruslan Bakiev 0dc265c6b4 Fix header alignment: logo and icons same level as input
Build Docker Image / build (push) Has been cancelled
2026-01-22 11:51:10 +07:00
Ruslan Bakiev a8612c20b5 Fix header: remove selectMode indicator, align logo and icons
Build Docker Image / build (push) Has been cancelled
- Remove 'Товар:' badge during selection - tags appear only after selection
- Align logo and icons vertically with input (h-12)
- Simplify search input styling
2026-01-22 11:49:21 +07:00
Ruslan Bakiev 3c6ae03c30 Add entity color scheme and improve map hover effect
Build Docker Image / build (push) Successful in 3m6s
- Add color scheme: product/offer=orange, supplier=blue, hub=green
- Remove 'location' filter (same as hub)
- Quantity filter appears only after product is selected
- Map hover shows 'target' ring effect (outer white ring)
- Tokens in header use entity-specific colors
2026-01-22 11:45:23 +07:00
Ruslan Bakiev c468bd8679 Redesign header: single row with unified search block
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
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
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
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
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
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
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
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
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
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
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
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
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
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]
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
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
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]
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
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
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
Build Docker Image / build (push) Successful in 3m26s
2026-01-21 09:46:50 +07:00