From ccd6eaf9ee64019e904cdf46491999fe991841ed Mon Sep 17 00:00:00 2001 From: juancwu Date: Sat, 7 Feb 2026 19:37:05 +0000 Subject: [PATCH] feat: redirect to expenses after add from overview --- internal/handler/space.go | 10 ++-------- internal/ui/components/expense/expense.templ | 2 +- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/internal/handler/space.go b/internal/handler/space.go index 88f9014..fbd3c7c 100644 --- a/internal/handler/space.go +++ b/internal/handler/space.go @@ -566,14 +566,8 @@ func (h *SpaceHandler) CreateExpense(w http.ResponseWriter, r *http.Request) { } if r.URL.Query().Get("from") == "overview" { - ui.Render(w, r, toast.Toast(toast.Props{ - Title: "Expense created", - Description: "Your transaction has been recorded.", - Variant: toast.VariantSuccess, - Icon: true, - Dismissible: true, - Duration: 5000, - })) + w.Header().Set("HX-Redirect", "/app/spaces/"+spaceID+"/expenses") + w.WriteHeader(http.StatusOK) return } diff --git a/internal/ui/components/expense/expense.templ b/internal/ui/components/expense/expense.templ index d3e5200..2f521f8 100644 --- a/internal/ui/components/expense/expense.templ +++ b/internal/ui/components/expense/expense.templ @@ -20,7 +20,7 @@ type AddExpenseFormProps struct { Tags []*model.Tag ListsWithItems []model.ListWithUncheckedItems DialogID string // which dialog to close on success - FromOverview bool // if true, POSTs with ?from=overview for toast response + FromOverview bool // if true, POSTs with ?from=overview; server redirects to expenses page } func (p AddExpenseFormProps) formAttrs() templ.Attributes {