package app
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
|
|
"git.brettb.xyz/goinv/client/internal/ui/style"
|
|
"github.com/rivo/tview"
|
|
)
|
|
|
|
func makeMenu(menuItems [][]string) *tview.TextView {
|
|
menu := tview.NewTextView().
|
|
SetDynamicColors(true).
|
|
SetWrap(true).
|
|
SetTextAlign(tview.AlignCenter)
|
|
|
|
menu.SetBackgroundColor(style.BgColor)
|
|
|
|
var menuList []string
|
|
|
|
for i, v := range menuItems {
|
|
key, item := genMenuItem(v)
|
|
|
|
if i == len(menuItems)-1 {
|
|
item += " "
|
|
}
|
|
|
|
menuList = append(menuList, key+item)
|
|
}
|
|
|
|
fmt.Fprintf(menu, "%s", strings.Join(menuList, " "))
|
|
|
|
return menu
|
|
}
|
|
|
|
func genMenuItem(items []string) (string, string) {
|
|
key := fmt.Sprintf("[%s::b] <%s>[-:-:-]", style.GetColorHex(style.MenuBgColor), items[0])
|
|
desc := fmt.Sprintf("[%s:%s:b] %s [-:-:-]",
|
|
style.GetColorHex(style.MenuFgColor),
|
|
style.GetColorHex(style.MenuBgColor),
|
|
strings.ToUpper(items[1]))
|
|
|
|
return key, desc
|
|
}
|