@@ -29,12 +29,13 @@ var (
2929)
3030
3131type Model struct {
32- ctx context.Context
33- help mir_help.Model
34- cfgReq * mir_apiv1.SendConfigRequest
35- cfgResp map [string ]* mir_apiv1.SendConfigResponse_ConfigResponse
36- vp viewport.Model
37- list menu.Model
32+ ctx context.Context
33+ help mir_help.Model
34+ cfgReq * mir_apiv1.SendConfigRequest
35+ cfgResp map [string ]* mir_apiv1.SendConfigResponse_ConfigResponse
36+ fetching bool
37+ vp viewport.Model
38+ list menu.Model
3839}
3940
4041func NewModel (ctx context.Context ) * Model {
@@ -64,6 +65,7 @@ func (m *Model) InitWithData(d any) tea.Cmd {
6465 )
6566 }
6667 m .cfgReq = req
68+ m .fetching = true
6769
6870 return tea .Batch (
6971 msgs .ReqMsgCmd ("Config '" + req .Name + "' sent to " + strconv .Itoa (len (req .Targets .Ids ))+ " devices" , msgs .DefaultTimeout ),
@@ -99,6 +101,7 @@ func (m *Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
99101 case msgs.DeviceConfigSentMsg :
100102 m .cfgResp = msg .ConfigsResponses
101103 m .list = menu .New (m .renderCmdResp (m .cfgResp ))
104+ m .fetching = false
102105 cmdRes = msgs .ResMsgCmd (strconv .Itoa (len (msg .ConfigsResponses ))+ " config responses received" , 5 * time .Second )
103106 case tea.KeyMsg :
104107 m .help , cmdKey = m .help .Update (msg )
@@ -141,7 +144,12 @@ func (m *Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
141144
142145func (m * Model ) View () string {
143146 v .Reset ()
144- header := styles .Help .Bold (false ).Render (fmt .Sprintf ("Configuration responses for %d devices\n " , len (m .cfgResp )))
147+ header := ""
148+ if m .fetching {
149+ header = styles .Help .Bold (false ).Render (fmt .Sprintf ("Sending config '%s'...\n " , m .cfgReq .Name ))
150+ } else {
151+ header = styles .Help .Bold (false ).Render (fmt .Sprintf ("Configuration responses for %d devices\n " , len (m .cfgResp )))
152+ }
145153 m .vp .SetContent (header + m .list .View ())
146154 v .WriteString (m .vp .View ())
147155 v .WriteString (m .help .View ())
0 commit comments