Skip to content

Commit e2dc316

Browse files
authored
Merge pull request #42 from KiraCore/feature/start_button
feat(feature_start): Added start button for cold start
2 parents 082da22 + 56257c3 commit e2dc316

File tree

1 file changed

+31
-27
lines changed

1 file changed

+31
-27
lines changed

Diff for: gui/screen_status.go

+31-27
Original file line numberDiff line numberDiff line change
@@ -47,28 +47,6 @@ func makeStatusScreen(_ fyne.Window, g *Gui) fyne.CanvasObject {
4747
})
4848
deployButton.Disable()
4949

50-
startButton := widget.NewButton("Start", func() {
51-
g.WaitDialog.ShowWaitDialog()
52-
var payloadStruct = types.RequestDeployPayload{
53-
Command: "start",
54-
}
55-
payload, err := json.Marshal(payloadStruct)
56-
if err != nil {
57-
log.Println("ERROR when executing payload:", err.Error())
58-
g.showErrorDialog(err, binding.NewDataListener(func() {}))
59-
return
60-
}
61-
out, err := httph.ExecHttpRequestBySSHTunnel(g.sshClient, types.SEKIN_EXECUTE_ENDPOINT, "POST", payload)
62-
if err != nil {
63-
log.Println("ERROR when executing payload:", err.Error())
64-
g.showErrorDialog(err, binding.NewDataListener(func() {}))
65-
return
66-
}
67-
log.Println("START out:", string(out))
68-
g.WaitDialog.HideWaitDialog()
69-
})
70-
startButton.Disable()
71-
7250
checkInterxStatus := func() {
7351
_, err := httph.GetInterxStatus(g.Host.IP, strconv.Itoa(types.DEFAULT_INTERX_PORT))
7452
if err != nil {
@@ -114,6 +92,7 @@ func makeStatusScreen(_ fyne.Window, g *Gui) fyne.CanvasObject {
11492
sekaiStatusCheck.Set(true)
11593
}
11694
}
95+
startButton := widget.NewButton("Start", func() {})
11796
refresh := func() {
11897
g.WaitDialog.ShowWaitDialog()
11998
checkInterxStatus()
@@ -132,15 +111,19 @@ func makeStatusScreen(_ fyne.Window, g *Gui) fyne.CanvasObject {
132111
// TODO: first maybe we should try to restart first if shidai is not running
133112
var deployButtonCheck bool
134113

135-
if !shidaiCheck && !sekaiCheck {
114+
if !shidaiCheck {
136115
deployButtonCheck = true
137116
log.Println("1st deploy check set", deployButtonCheck)
138-
117+
} else {
118+
deployButtonCheck = false
139119
}
140120
if !deployButtonCheck {
141-
if shidaiInfra && (!sekaiInfra && !interxInfra) {
121+
if shidaiInfra && sekaiInfra && interxInfra && (shidaiCheck && !sekaiCheck && !interxCheck) {
142122
startButton.Enable()
143-
log.Println("2st deploy check set", deployButtonCheck)
123+
log.Println("start button enabled")
124+
} else {
125+
startButton.Disable()
126+
log.Println("start button disabled")
144127
}
145128
}
146129

@@ -151,7 +134,28 @@ func makeStatusScreen(_ fyne.Window, g *Gui) fyne.CanvasObject {
151134

152135
defer g.WaitDialog.HideWaitDialog()
153136
}
154-
137+
startButton.OnTapped = func() {
138+
g.WaitDialog.ShowWaitDialog()
139+
var payloadStruct = types.RequestDeployPayload{
140+
Command: "start",
141+
}
142+
payload, err := json.Marshal(payloadStruct)
143+
if err != nil {
144+
log.Println("ERROR when executing payload:", err.Error())
145+
g.showErrorDialog(err, binding.NewDataListener(func() {}))
146+
return
147+
}
148+
out, err := httph.ExecHttpRequestBySSHTunnel(g.sshClient, types.SEKIN_EXECUTE_ENDPOINT, "POST", payload)
149+
if err != nil {
150+
log.Println("ERROR when executing payload:", err.Error())
151+
g.showErrorDialog(err, binding.NewDataListener(func() {}))
152+
return
153+
}
154+
log.Println("START out:", string(out))
155+
g.WaitDialog.HideWaitDialog()
156+
refresh()
157+
}
158+
startButton.Disable()
155159
refreshButton := widget.NewButton("Refresh", func() {
156160
refresh()
157161
})

0 commit comments

Comments
 (0)