Marketplace Routes
core/routing/app_router.dart · /marketPlace + /product/:id
Overview
/marketPlace points at MarketplaceHomeScreen inside the ShellRoute. Product detail uses AppRoute.productDetails and reads `state.extra as Product` to avoid a refetch on tile-tap.
User Flow
- Home grid tile 'Marketplace' (client) → context.push(/marketPlace).
- MarketplaceProductList tile tap → context.push(/product-details, extra: product).
- ProductDetailScreen reads the Product directly from extra — does not call getProductById on entry.
Cases & Edge Cases
- Deep-linking to /product-details/:id without extra is unsupported today — the route builder casts state.extra to Product unconditionally.
- The marketPlace path uses camel-case in AppRoute — keep it stable; downstream URLs depend on it.
Code References
- lib/src/core/routing/app_router.dart:494 // /marketPlace
- lib/src/core/routing/app_router.dart:499 // /product-details
- lib/src/core/routing/routes.dart // AppRoute.marketPlace
API Calls
Empty — fill this in later. Open the manifest and add content here.
Notes
If product details ever needs to be a real URL (sharable link), refactor to read pathParameters['id'] and call getProductById on entry.