diff options
Diffstat (limited to 'internal/handlers/handlers.go')
| -rw-r--r-- | internal/handlers/handlers.go | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/internal/handlers/handlers.go b/internal/handlers/handlers.go index 0e5edcc..bba12ad 100644 --- a/internal/handlers/handlers.go +++ b/internal/handlers/handlers.go @@ -1230,7 +1230,11 @@ func mealTypeOrder(mealType string) int { func (h *Handler) HandleTabShopping(w http.ResponseWriter, r *http.Request) { ctx := r.Context() stores := h.aggregateShoppingLists(ctx) - HTMLResponse(w, h.templates, "shopping-tab", struct{ Stores []models.ShoppingStore }{stores}) + grouped := r.URL.Query().Get("grouped") != "false" // Default to grouped + HTMLResponse(w, h.templates, "shopping-tab", struct { + Stores []models.ShoppingStore + Grouped bool + }{stores, grouped}) } // HandleShoppingQuickAdd adds a user shopping item @@ -1285,7 +1289,10 @@ func (h *Handler) HandleShoppingQuickAdd(w http.ResponseWriter, r *http.Request) } // Return refreshed shopping tab - HTMLResponse(w, h.templates, "shopping-tab", struct{ Stores []models.ShoppingStore }{allStores}) + HTMLResponse(w, h.templates, "shopping-tab", struct { + Stores []models.ShoppingStore + Grouped bool + }{allStores, true}) } // HandleShoppingToggle toggles a shopping item's checked state @@ -1323,7 +1330,10 @@ func (h *Handler) HandleShoppingToggle(w http.ResponseWriter, r *http.Request) { // Return refreshed shopping tab stores := h.aggregateShoppingLists(r.Context()) - HTMLResponse(w, h.templates, "shopping-tab", struct{ Stores []models.ShoppingStore }{stores}) + HTMLResponse(w, h.templates, "shopping-tab", struct { + Stores []models.ShoppingStore + Grouped bool + }{stores, true}) } // HandleShoppingMode renders the focused shopping mode for a single store |
