feat: add sidebar menu items on account settings page

This commit is contained in:
juancwu 2026-04-23 02:24:29 +00:00
commit 4d5a3276de

View file

@ -1,18 +1,22 @@
package pages package pages
import ( import (
"git.juancwu.dev/juancwu/budgit/internal/ui/layouts" "git.juancwu.dev/juancwu/budgit/internal/ctxkeys"
"git.juancwu.dev/juancwu/budgit/internal/routeurl"
"git.juancwu.dev/juancwu/budgit/internal/ui/blocks"
"git.juancwu.dev/juancwu/budgit/internal/ui/components/button" "git.juancwu.dev/juancwu/budgit/internal/ui/components/button"
"git.juancwu.dev/juancwu/budgit/internal/ui/components/card"
"git.juancwu.dev/juancwu/budgit/internal/ui/components/csrf" "git.juancwu.dev/juancwu/budgit/internal/ui/components/csrf"
"git.juancwu.dev/juancwu/budgit/internal/ui/components/form" "git.juancwu.dev/juancwu/budgit/internal/ui/components/form"
"git.juancwu.dev/juancwu/budgit/internal/ui/components/icon"
"git.juancwu.dev/juancwu/budgit/internal/ui/components/input" "git.juancwu.dev/juancwu/budgit/internal/ui/components/input"
"git.juancwu.dev/juancwu/budgit/internal/ui/components/label" "git.juancwu.dev/juancwu/budgit/internal/ui/components/label"
"git.juancwu.dev/juancwu/budgit/internal/ui/components/card" "git.juancwu.dev/juancwu/budgit/internal/ui/components/sidebar"
"git.juancwu.dev/juancwu/budgit/internal/ui/blocks" "git.juancwu.dev/juancwu/budgit/internal/ui/layouts"
) )
templ AppSettings(hasPassword bool, errorMsg string) { templ AppSettings(hasPassword bool, errorMsg string) {
@layouts.App("Settings") { @layouts.App("Settings", spaceOverviewSidebarContent(), settingsSidebarContent()) {
<div class="container max-w-2xl px-6 py-8"> <div class="container max-w-2xl px-6 py-8">
@blocks.PageHeader("Settings", "Manage your account settings") @blocks.PageHeader("Settings", "Manage your account settings")
@card.Card() { @card.Card() {
@ -100,3 +104,23 @@ templ AppSettings(hasPassword bool, errorMsg string) {
</div> </div>
} }
} }
templ settingsSidebarContent() {
@sidebar.Group() {
@sidebar.GroupLabel() {
Settings
}
@sidebar.Menu() {
@sidebar.MenuItem() {
@sidebar.MenuButton(sidebar.MenuButtonProps{
Href: routeurl.URL("page.app.settings"),
IsActive: ctxkeys.URLPath(ctx) == routeurl.URL("page.app.settings"),
Tooltip: "Security",
}) {
@icon.Lock()
<span>Security</span>
}
}
}
}
}