arch-atlas

Marketplace Home Screen

views/marketplace_home_screen.dart

presentation

Overview

Composite scrollable screen made of a banner carousel, category strip, trending deals, summer-sale tile, special offers, and the main product grid/list. Watches marketplaceControllerProvider for the list state.

User Flow

  1. Top bar with search + cart + notification triggers.
  2. MarketplaceCategoryList chips toggle category filters.
  3. MarketplaceFilterBar exposes Filter / Sort / Grid toggles via bottom sheets.
  4. MarketplaceProductList renders the result and triggers loadMore on near-bottom scroll.
  5. warningMessage banner shows after auto-recovery and is dismissible via clearWarning.

Cases & Edge Cases

  • Pagination trigger fires when scroll position passes ~80% — tweak in the list widget, not the controller.
  • Hero widgets (banners, summer sale) read from local sample data; they are not yet backed by a CMS service.
  • Grid vs list toggle persists for the controller lifetime (not across kills).

Code References

  • lib/src/features/shared/marketplace/views/marketplace_home_screen.dart
  • lib/src/features/shared/marketplace/views/widgets/marketplace_banner_carousel.dart
  • lib/src/features/shared/marketplace/views/widgets/marketplace_special_offers.dart

API Calls

Empty — fill this in later. Open the manifest and add content here.

Notes

Long screen (~540 lines) — keep new sections as standalone widgets in widgets/ to avoid the file ballooning further.