github.com/kyleu/dbaudit@v0.0.2-0.20240321155047-ff2f2c940496/app/controller/cmenu/menu.go (about) 1 // Package cmenu - Content managed by Project Forge, see [projectforge.md] for details. 2 package cmenu 3 4 import ( 5 "context" 6 7 "github.com/kyleu/dbaudit/app" 8 "github.com/kyleu/dbaudit/app/lib/filter" 9 "github.com/kyleu/dbaudit/app/lib/menu" 10 "github.com/kyleu/dbaudit/app/lib/sandbox" 11 "github.com/kyleu/dbaudit/app/lib/user" 12 "github.com/kyleu/dbaudit/app/util" 13 ) 14 15 func MenuFor( 16 ctx context.Context, isAuthed bool, isAdmin bool, profile *user.Profile, params filter.ParamSet, as *app.State, logger util.Logger, //nolint:revive 17 ) (menu.Items, any, error) { 18 var ret menu.Items 19 var data any 20 // $PF_SECTION_START(menu)$ 21 if isAdmin { 22 ret = append(ret, parseMenu()...) 23 ret = append(ret, generatedMenu()...) 24 ret = append(ret, menu.Separator) 25 } 26 // This is your menu, feel free to customize it 27 admin := &menu.Item{Key: "admin", Title: "Settings", Description: "System-wide settings and preferences", Icon: "cog", Route: "/admin"} 28 ret = append(ret, sandbox.Menu(ctx), menu.Separator, admin, menu.Separator, docMenu(logger)) 29 const aboutDesc = "Get assistance and advice for using " + util.AppName 30 ret = append(ret, &menu.Item{Key: "about", Title: "About", Description: aboutDesc, Icon: "question", Route: "/about"}) 31 // $PF_SECTION_END(menu)$ 32 return ret, data, nil 33 }