Skip to main content
Version: 1.0

Mealz Planner

Mealz Planner journeys use FeatureRoute.Planner: a compact entry block (CTA) and a full-screen menu (current menu / help).

iOS naming

FeatureRoute.Planner.CurrentMenu flattens to FeatureRoute.Planner.PlannerCurrentMenu in Swift.

Visual Overview​

Mealz Planner entry Mealz Planner current menu

Mealz Planner Entry — Parameters​

Compact CTA to start / resume Mealz Planner (fixed height, full width).

ParameterTypeRequiredDefaultWhat it does
navigationCallbackPlannerEntryNavigationCallbackyes—Open the Mealz Planner menu.
modifierCompose Modifierno—Layout.
stateContentstate overlaysnolibrary defaultOptional loading UI.

PlannerEntryNavigationCallback​

CallbackRequiredWhat you must do
goToPlanneryes(FeatureRoute.Planner) -> Unit — present the full Mealz Planner menu for the given route (usually CurrentMenu).

Base NavigationCallback redirects default to no-ops on this component — only goToPlanner matters.

Mealz Planner Menu — Parameters​

Full-screen Mealz Planner journey.

ParameterTypeRequiredDefaultWhat it does
routeFeatureRoute.PlannernoCurrentMenu()CurrentMenu(), Help(), …
navigationCallbackPlannerNavigationCallbackyes—Login / store / exit + optional cart and catalog.
modifierCompose Modifiernofills max sizeLayout.
stateContentstate overlaysnolibrary defaultOptional loading UI.

PlannerNavigationCallback​

CallbackRequiredWhat you must do
redirectToLogInyesOpen login.
redirectToStoreLocatoryesOpen store picker.
exityesClose the Mealz Planner screen.
redirectToCartnoOpen retailer cart. Defaults to null.
goToCatalogno(FeatureRoute.Catalog) -> Unit — open catalog when Mealz Planner links out.

Inject​

Entry

PlannerEntry(
    navigationCallback = PlannerEntryNavigationCallback(
        goToPlanner = { /* open PlannerMenuScreen */ }
    )
)

Menu

PlannerMenuScreen(
    route = FeatureRoute.Planner.CurrentMenu(),
    navigationCallback = PlannerNavigationCallback(
        redirectToLogIn = { },
        redirectToStoreLocator = { },
        exit = { },
        redirectToCart = { },
        goToCatalog = { }
    )
)