package tui import ( "os/exec" "time" tea "charm.land/bubbletea/v2" ) // --- Messages --- // Docker installation check type DockerCheckedMsg struct{ Installed bool } type DockerInstalledMsg struct{ Err error } type TickMsg struct{} // Image downloading type ImageDownloadFinishedMsg struct { Err error } type DownloadTickMsg struct{} // --- Commands --- func CheckDockerCmd() tea.Cmd { return func() tea.Msg { _, err := exec.LookPath("docker") return DockerCheckedMsg{Installed: err == nil} } } func tickCmd() tea.Cmd { return tea.Tick(100*time.Millisecond, func(t time.Time) tea.Msg { return TickMsg{} }) } func downloadImageCmd() tea.Cmd { return func() tea.Msg { err := docker.PullImage("hub.davinti.com.br:443/app-dono/app-cliente:latest") return ImageDownloadFinishedMsg{ Err: err, } } }