MCPcopy Create free account
hub / github.com/devnullvoid/pvetui / NewHelpModal

Function NewHelpModal

internal/ui/components/help_modal.go:23–55  ·  view source on GitHub ↗

NewHelpModal creates a new help modal.

(keys config.KeyBindings)

Source from the content-addressed store, hash-verified

21
22// NewHelpModal creates a new help modal.
23func NewHelpModal(keys config.KeyBindings) *HelpModal {
24 textView := tview.NewTextView().
25 SetDynamicColors(true).
26 SetScrollable(true).
27 SetWrap(false)
28
29 textView.SetBorder(true).
30 SetTitle(" pvetui - Help & Keybindings ").
31 SetTitleColor(theme.Colors.Primary).
32 SetBorderColor(theme.Colors.Border)
33
34 helpText := buildHelpText(keys)
35 textView.SetText(helpText)
36
37 // Create a flex container to center the text view with better proportions
38 flex := tview.NewFlex().
39 SetDirection(tview.FlexColumn).
40 AddItem(nil, 0, 1, false). // Left padding
41 AddItem(tview.NewFlex().SetDirection(tview.FlexRow).
42 AddItem(nil, 0, 1, false). // Top padding
43 AddItem(textView, 0, 10, true). // Main content
44 AddItem(nil, 0, 1, false), // Bottom padding
45 0, 8, true). // Main column
46 AddItem(nil, 0, 1, false) // Right padding
47
48 pages := tview.NewPages()
49 pages.AddPage("help-content", flex, true, true)
50
51 return &HelpModal{
52 Pages: pages,
53 textView: textView,
54 }
55}
56
57// buildHelpText constructs the formatted and aligned help text.
58func buildHelpText(keys config.KeyBindings) string {

Callers 2

NewAppFunction · 0.85

Calls 3

buildHelpTextFunction · 0.85
SetTitleMethod · 0.65
SetTextMethod · 0.45

Tested by

no test coverage detected