MCPcopy Create free account
hub / github.com/caarlos0/tasktimer / Init

Function Init

internal/ui/main.go:26–74  ·  view source on GitHub ↗
(db *badger.DB, project string)

Source from the content-addressed store, hash-verified

24}
25
26func Init(db *badger.DB, project string) tea.Model {
27 input := textinput.NewModel()
28 input.Prompt = "❯ "
29 input.Placeholder = "New task description..."
30 input.Focus()
31 input.CharLimit = 250
32 input.Width = 50
33
34 keymap := &keymap{
35 Esc: key.NewBinding(
36 key.WithKeys("esc"),
37 key.WithHelp("esc", "cancel"),
38 ),
39 Enter: key.NewBinding(
40 key.WithKeys("enter"),
41 key.WithHelp("enter", "start/stop timer"),
42 ),
43 CtrlC: key.NewBinding(
44 key.WithKeys("ctrl+c"),
45 key.WithHelp("ctrl+c", "exit"),
46 ),
47 R: key.NewBinding(
48 key.WithKeys("r"),
49 key.WithHelp("r", "restart"),
50 ),
51 }
52
53 l := list.NewModel([]list.Item{}, list.NewDefaultDelegate(), 0, 0)
54 l.Title = "tasks"
55 l.SetSpinner(spinner.Pulse)
56 l.DisableQuitKeybindings()
57 l.AdditionalShortHelpKeys = func() []key.Binding {
58 return []key.Binding{
59 keymap.Esc,
60 keymap.Enter,
61 keymap.CtrlC,
62 keymap.R,
63 }
64 }
65
66 return mainModel{
67 list: l,
68 timer: projectTimerModel{},
69 db: db,
70 input: input,
71 project: project,
72 keymap: keymap,
73 }
74}
75
76type mainModel struct {
77 input textinput.Model

Callers 1

newRootCmdFunction · 0.92

Calls

no outgoing calls

Tested by

no test coverage detected