diff --git a/internal/handler/space.go b/internal/handler/space.go index 5e7afba..05adb66 100644 --- a/internal/handler/space.go +++ b/internal/handler/space.go @@ -99,7 +99,14 @@ func (h *SpaceHandler) DashboardPage(w http.ResponseWriter, r *http.Request) { return } - ui.Render(w, r, pages.SpaceOverviewPage(space, lists, tags, listsWithItems)) + accounts, err := h.accountService.GetAccountsForSpace(spaceID) + if err != nil { + slog.Error("failed to get accounts for space", "error", err, "space_id", spaceID) + http.Error(w, "Internal Server Error", http.StatusInternalServerError) + return + } + + ui.Render(w, r, pages.SpaceOverviewPage(space, lists, tags, listsWithItems, accounts)) } func (h *SpaceHandler) ListsPage(w http.ResponseWriter, r *http.Request) { diff --git a/internal/ui/pages/app_space_overview.templ b/internal/ui/pages/app_space_overview.templ index ea41605..a6abf0b 100644 --- a/internal/ui/pages/app_space_overview.templ +++ b/internal/ui/pages/app_space_overview.templ @@ -1,6 +1,7 @@ package pages import ( + "fmt" "git.juancwu.dev/juancwu/budgit/internal/model" "git.juancwu.dev/juancwu/budgit/internal/ui/components/button" "git.juancwu.dev/juancwu/budgit/internal/ui/components/dialog" @@ -8,7 +9,7 @@ import ( "git.juancwu.dev/juancwu/budgit/internal/ui/layouts" ) -templ SpaceOverviewPage(space *model.Space, lists []*model.ShoppingList, tags []*model.Tag, listsWithItems []model.ListWithUncheckedItems) { +templ SpaceOverviewPage(space *model.Space, lists []*model.ShoppingList, tags []*model.Tag, listsWithItems []model.ListWithUncheckedItems, accounts []model.MoneyAccountWithBalance) { @layouts.Space("Overview", space) {
@@ -80,6 +81,35 @@ templ SpaceOverviewPage(space *model.Space, lists []*model.ShoppingList, tags []

No tags yet.

}
+ // Money Accounts section +
+

Money Accounts

+ if len(accounts) > 0 { + + + View all accounts + + } else { +

No accounts yet.

+ } +
}