arch-atlas

Search Routes + Providers

core/routing/app_router.dart · /search + /seller/:handle

di

Overview

Two routes: /search (CustomTransitionPage with slide-up animation) and /seller/:handle (CustomTransitionPage with slide-right). sellersProvider is a single NotifierProvider; sellerDetailProvider is a family-keyed FutureProvider.

User Flow

  1. Home swipe-left or search-icon tap pushes /search.
  2. Seller card tap pushes /seller/:handle with the handle as a path parameter.
  3. Both routes live in the ShellRoute, so the nav bar stays visible.

Cases & Edge Cases

  • Custom transitions use 420ms forward + 300ms reverse — slightly slower forward to make the new content feel deliberate.
  • GoRouter resolves /seller/:handle from external links — make sure the handle matches the URL-safe charset.

Code References

  • lib/src/core/routing/app_router.dart:521 // /search CustomTransitionPage
  • lib/src/core/routing/app_router.dart:556 // /seller/:handle CustomTransitionPage
  • lib/src/features/shared/search/providers/sellers_provider.dart:230 // sellersProvider

API Calls

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

Notes

If the search experience grows to include products + sellers + places in one screen, split the notifier into per-source notifiers before the controller bloats further.