Skip to content

Unified menu with credits/cash payment toggle #324

Description

@kylefritz

Summary

Merge the subscriber and marketplace experiences into a single unified menu where users can choose to pay with credits or cash — similar to Southwest's money/points toggle.

Currently logged-in users can only pay with credits and guests can only pay with cash. This removes that restriction.

Prerequisites

  • Rename menu_items.subscribermenu_items.accepts_credits
  • Rename menu_items.marketplacemenu_items.accepts_cash
  • Update builder UI labels ("Subscriber"/"Marketplace" → "Accepts Credits"/"Accepts Cash")
  • Update admin filters and scopes
  • Update Order scopes (.subscriber.credits, .marketplace.cash or similar)
  • Update subscriber_note → TBD (baker's note? weekly note?)

UI changes

  • Single menu view for all users (merge Menu.tsx and Marketplace.tsx)
  • Payment toggle (tab or switch) to choose credits vs cash, visible when user has credits
  • Items filtered by selected payment method (accepts_credits or accepts_cash)
  • Price display adapts: credits when paying with credits, dollars when paying with cash
  • Guest users see cash-only view (no toggle since they have no credits)
  • Logged-in users with credits see both options

Backend changes

  • Order creation accepts explicit payment method choice (not inferred from user context)
  • Cart needs to handle both payment types in one flow
  • Auth flow: guests may need ability to log in mid-checkout to use credits

Depends on

Open questions

  • Can a single order mix credits and cash items?
  • What happens to users with 0 credits — do they see the toggle at all?
  • Should guests be prompted to log in if they might have credits?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions