| 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 | |
| }
 |