Skip to content

Commit c84badc

Browse files
committed
feat: add wait gas station
1 parent eec5dc7 commit c84badc

File tree

2 files changed

+22
-7
lines changed

2 files changed

+22
-7
lines changed

models/homepage.go

+18-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package models
22

33
import (
4+
"time"
5+
46
tea "github.com/charmbracelet/bubbletea"
57

68
"github.com/initia-labs/weave/models/weaveinit"
@@ -41,14 +43,10 @@ func (m *Homepage) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
4143
if m.isFirstTimeSetup {
4244
input, cmd, done := m.TextInput.Update(msg)
4345
if done {
44-
err := utils.SetConfig("common.gas_station_mnemonic", input.Text)
45-
if err != nil {
46-
return nil, nil
47-
}
4846
view := styles.RenderPrompt("Please set up a Gas Station account", []string{"Gas Station account"}, styles.Question) +
4947
" " + styles.Text("(The account that will hold the funds required by the OPinit-bots or relayer to send transactions)", styles.Gray) +
5048
"\n> " + styles.Text(input.Text, styles.Ivory)
51-
model := NewHomepageInitialization(view)
49+
model := NewHomepageInitialization(view, input.Text)
5250
return model, model.Init()
5351
}
5452
m.TextInput = input
@@ -84,19 +82,32 @@ func (m *Homepage) View() string {
8482
type HomepageInitialization struct {
8583
previousResponse string
8684
loading utils.Loading
85+
mnemonic string
8786
}
8887

89-
func NewHomepageInitialization(prevRes string) tea.Model {
88+
func NewHomepageInitialization(prevRes, mnemonic string) tea.Model {
9089
return &HomepageInitialization{
9190
previousResponse: prevRes,
92-
loading: utils.NewLoading("Initializing Weave...", utils.DefaultWait()),
91+
loading: utils.NewLoading("Initializing Weave...", WaitSetGasStation(mnemonic)),
92+
mnemonic: mnemonic,
9393
}
9494
}
9595

9696
func (hi *HomepageInitialization) Init() tea.Cmd {
9797
return hi.loading.Init()
9898
}
9999

100+
func WaitSetGasStation(mnemonic string) tea.Cmd {
101+
return func() tea.Msg {
102+
err := utils.SetConfig("common.gas_station_mnemonic", mnemonic)
103+
if err != nil {
104+
return utils.ErrorLoading{Err: err}
105+
}
106+
time.Sleep(1500 * time.Millisecond)
107+
return utils.EndLoading{}
108+
}
109+
}
110+
100111
func (hi *HomepageInitialization) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
101112
loader, cmd := hi.loading.Update(msg)
102113
hi.loading = loader

utils/loading.go

+4
Original file line numberDiff line numberDiff line change
@@ -96,3 +96,7 @@ func DefaultWait() tea.Cmd {
9696
return EndLoading{}
9797
}
9898
}
99+
100+
type ErrorLoading struct {
101+
Err error
102+
}

0 commit comments

Comments
 (0)