apps/jotts/tui/tui.go 504 B raw
1
package tui
2
3
import (
4
	"os"
5
6
	tea "charm.land/bubbletea/v2"
7
	"golang.org/x/term"
8
)
9
10
func Run(opts Options) error {
11
	backend, err := ResolveBackend(opts)
12
	if err != nil {
13
		return err
14
	}
15
	defer backend.Close()
16
17
	notes, err := backend.List()
18
	if err != nil {
19
		return err
20
	}
21
22
	width, height := 100, 28
23
	if w, h, err := term.GetSize(int(os.Stdout.Fd())); err == nil && w > 0 && h > 0 {
24
		width, height = w, h
25
	}
26
27
	p := tea.NewProgram(newModel(backend, notes, width, height))
28
	_, err = p.Run()
29
	return err
30
}