NewProgressModel creates a ProgressModel that runs apiCmd while showing a spinner. On success, renderSuccess is called to produce the final View output.
(message string, apiCmd tea.Cmd, renderSuccess func() string)
| 30 | // NewProgressModel creates a ProgressModel that runs apiCmd while showing a spinner. |
| 31 | // On success, renderSuccess is called to produce the final View output. |
| 32 | func NewProgressModel(message string, apiCmd tea.Cmd, renderSuccess func() string) ProgressModel { |
| 33 | InitCommonStyles(os.Stdout) |
| 34 | s := NewPrimarySpinner() |
| 35 | return ProgressModel{ |
| 36 | spinner: s, |
| 37 | message: message, |
| 38 | apiCmd: apiCmd, |
| 39 | renderSuccess: renderSuccess, |
| 40 | } |
| 41 | } |
| 42 | |
| 43 | func (m ProgressModel) Init() tea.Cmd { |
| 44 | return tea.Batch(m.spinner.Tick, m.apiCmd) |
no test coverage detected