main
6d86999 ยท 6 months ago 26 commits
 1package policy
 2
 3import (
 4	"github.com/The-Robin-Hood/ufWall/internal/ui"
 5)
 6
 7type Model struct {
 8	styles     ui.Styles
 9	totalOpts  int
10	cursorLine int
11	menu       *ui.Menu
12	active     bool
13}
14
15func New(styles ui.Styles) Model {
16	return Model{
17		styles:     styles,
18		cursorLine: 0,
19		menu:       nil,
20		active:     false,
21		totalOpts:  2,
22	}
23}
24
25func (m *Model) Focus() {
26	m.cursorLine = 0
27	m.active = true
28}
29
30func (m *Model) Blur() {
31	m.active = false
32	m.menu = nil
33	m.cursorLine = 0
34}
35
36func (m Model) HasOpenMenu() bool {
37	return m.menu != nil
38}
39
40func (m Model) GetMenu() *ui.Menu {
41	return m.menu
42}