Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/AndrewwCO/Panahashi/llms.txt

Use this file to discover all available pages before exploring further.

Users can find products in two ways: by browsing a specific bakery’s catalog inside BakeryDetailScreen, or by running a global search across all bakeries from SearchScreen. Both paths lead to ProductDetailScreen, where users can review product details and add items to their cart.

Product catalog

Each bakery’s products are fetched via:
fetchProductsByBakery(bakeryId)
This calls GET /products?bakeryId=<id> and returns the bakery’s full product list. Products can be filtered by category (Pan, Pastelería, Bebidas) using the pill selector at the top of the product list in BakeryDetailScreen. Each product card in ProductDetailScreen displays:
  • Name — the product title
  • Price — formatted in Colombian pesos (COP)
  • Emoji — a visual icon representing the product
  • Description — free-text description (shown when provided)
  • Availability status — one of READY_NOW, READY_IN_20, READY_IN_60, ADVANCE_ORDER_ONLY, or OUT_OF_STOCK
  • Stock count — shown when 5 or fewer units remain
  • Advance notice — if advanceMinutes > 0, a notice tells the user how early to order
Out-of-stock products are shown with reduced opacity and cannot be added to the cart. SearchScreen provides global search across all bakeries using searchProducts():
searchProducts({ q, lat, lng, radius = 10, category })
ParameterTypeDescription
qstringKeyword to search — matches product names and bakery names
latnumber | undefinedUser’s latitude (optional, enables distance sorting)
lngnumber | undefinedUser’s longitude (optional, enables distance sorting)
radiusnumberSearch radius in km when using geolocation (default: 10)
categorystring | undefinedFilter results to a specific category (e.g. "pan", "pastelería", "bebidas")
Search is debounced by 400 ms as the user types — no submit button is required. Results are grouped into two sections: matching bakeries first, then matching products. Each product result shows its parent bakery name and distance in km when location data is available. Category filter pills (Todo, Pan, Pastelería, Bebidas) appear above the results and can be combined with any keyword query.

Adding to cart from product detail

From ProductDetailScreen, users select a quantity and tap Add to Cart. This calls:
addToCartApi(bakeryId, productId, qty)
The cart is synced with the backend immediately. After a successful add, a native alert gives the user the option to continue browsing or navigate directly to the Cart tab.
The cart is scoped to a single bakery at a time. If the user already has items from a different bakery, adding a new product from BakeryDetailScreen will prompt a warning before clearing the existing cart.

Build docs developers (and LLMs) love