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  }