Commit Graph

38 Commits

Author SHA1 Message Date
Ruslan Bakiev
2dbe600d8a refactor: remove all any types, add strict GraphQL scalar typing
All checks were successful
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
65250f1342 Fix hero animation: transparent navbar on home page, glass on collapse
Some checks failed
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
All checks were successful
Build Docker Image / build (push) Successful in 4m8s
2026-01-27 10:09:33 +07:00
Ruslan Bakiev
75ce64b46e Fix hero animation: object-fit cover + conditional blur + glass on collapse
All checks were successful
Build Docker Image / build (push) Successful in 5m14s
- HeroBackground.vue:
  - Add object-cover class to Lottie animation (fills container)
  - Make dark overlay conditional (v-if collapseProgress > 0.5)
  - Overlay fades in during collapse (opacity 0→1)

- MainNavigation.vue:
  - Replace glassStyle prop with isCollapsed
  - Glass effect (backdrop-blur-md) applies only when collapsed

- topnav.vue:
  - Pass isCollapsed instead of glass-style
  - Home page: isCollapsed from useHeroScroll
  - Other pages: always true (always collapsed)

Result:
- Animation covers full viewport without crop
- No blur overlay when hero is expanded
- Glass effect appears only when header collapses to 100px
2026-01-27 09:14:20 +07:00
Ruslan Bakiev
839ab4e830 feat(hero): add animated Supply Chain background on home page
All checks were successful
Build Docker Image / build (push) Successful in 3m54s
2026-01-26 22:31:06 +07:00
Ruslan Bakiev
263e60e003 feat: simplify hero to single tagline
All checks were successful
Build Docker Image / build (push) Successful in 3m36s
2026-01-26 18:06:07 +07:00
Ruslan Bakiev
eb2266d66f feat: hero effect with dynamic navbar height and inline title
All checks were successful
Build Docker Image / build (push) Successful in 3m41s
2026-01-26 17:56:24 +07:00
Ruslan Bakiev
f680740f52 Center MainNav vertically on home hero, add fading title
All checks were successful
Build Docker Image / build (push) Successful in 3m47s
2026-01-26 17:24:08 +07:00
Ruslan Bakiev
53a51ed80c Simplify: use same MainNavigation everywhere, just taller container on home
All checks were successful
Build Docker Image / build (push) Successful in 3m56s
2026-01-26 17:14:40 +07:00
Ruslan Bakiev
d4b4f7011f Fix hero scroll - use fixed padding so content stays in place
All checks were successful
Build Docker Image / build (push) Successful in 3m58s
2026-01-26 16:59:19 +07:00
Ruslan Bakiev
11a52003e7 Make hero scroll linear - direct 1:1 scroll to height/opacity
All checks were successful
Build Docker Image / build (push) Successful in 3m55s
2026-01-26 16:29:20 +07:00
Ruslan Bakiev
cecbed99b5 Add hero section to home page with scroll collapse
Some checks failed
Build Docker Image / build (push) Failing after 50s
- Full-screen dark gradient hero on home page
- Search input centered vertically
- Smooth collapse to fixed header on scroll
- Added hero translations (ru/en)
2026-01-26 16:12:00 +07:00
Ruslan Bakiev
a569942e24 Show mode toggle on home page without active state
Some checks failed
Build Docker Image / build (push) Has been cancelled
2026-01-26 15:48:55 +07:00
Ruslan Bakiev
2275f956ae Fix: hide mode toggle on home page, store mapViewMode in URL
All checks were successful
Build Docker Image / build (push) Successful in 3m56s
2026-01-26 15:44:44 +07:00
Ruslan Bakiev
2b6cccdead Fix all TypeScript errors and remove Storybook
All checks were successful
Build Docker Image / build (push) Successful in 5m8s
- Remove all Storybook files and configuration
- Add type declarations for @vueuse/core, @formkit/core, vue3-apexcharts
- Fix TypeScript configuration (typeRoots, include paths)
- Fix Sentry config - move settings to plugin
- Fix nullable prop assignments with ?? operator
- Fix type narrowing issues with explicit type assertions
- Fix Card component linkable computed properties
- Update codegen with operationResultSuffix
- Fix GraphQL operation type definitions
2026-01-26 00:32:36 +07:00
Ruslan Bakiev
4d018323e7 Fix catalog issues: quantity input, checkbox position, glass header
All checks were successful
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
3140226bc3 Navbar glass style only on catalog/map pages
All checks were successful
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
593aa0df12 Make map fullscreen behind transparent navbar
All checks were successful
Build Docker Image / build (push) Successful in 3m14s
2026-01-23 12:48:25 +07:00
Ruslan Bakiev
4c6f5abd78 UI fixes: identical headers, panel styling, view toggle icons, sync map view
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
8c4613e0d6 Simplify header: clean pill input without card styling
Some checks failed
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
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
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
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
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
43158924ab Fix smooth scroll animation and map positioning
All checks were successful
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
All checks were successful
Build Docker Image / build (push) Successful in 4m12s
2026-01-15 12:32:22 +07:00
Ruslan Bakiev
ea7c0b460a Move expand button from separate bar to SearchBar area
All checks were successful
Build Docker Image / build (push) Successful in 4m4s
2026-01-15 11:55:41 +07:00
Ruslan Bakiev
9411eb9874 Change body background to base-300 for better color hierarchy
All checks were successful
Build Docker Image / build (push) Successful in 6m28s
2026-01-15 10:07:56 +07:00
Ruslan Bakiev
9d0b1a6b15 feat: collapsible header on scroll for catalog pages
All checks were successful
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
821dd72809 fix(ui): hide SubNavigation on home page, reorder sections, remove description
All checks were successful
Build Docker Image / build (push) Successful in 4m9s
2026-01-08 14:01:18 +07:00
Ruslan Bakiev
34c7404a42 Refactor navigation and fix UI issues
All checks were successful
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
f34c484561 Fix navigation layout and search behavior
All checks were successful
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
1a2693bcd6 feat(ui): redesign GlobalSearchBar, split layouts, and remove hero section
All checks were successful
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
737ec91473 Add topnav layout with MainNavigation, SubNavigation, GlobalSearchBar, SplitLayout
Some checks failed
Build Docker Image / build (push) Failing after 1m25s
2026-01-08 01:03:07 +07:00