|
1 | 1 | package models
|
2 | 2 |
|
3 | 3 | import (
|
| 4 | + "time" |
| 5 | + |
4 | 6 | tea "github.com/charmbracelet/bubbletea"
|
5 | 7 |
|
6 | 8 | "github.com/initia-labs/weave/models/weaveinit"
|
@@ -41,14 +43,10 @@ func (m *Homepage) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
41 | 43 | if m.isFirstTimeSetup {
|
42 | 44 | input, cmd, done := m.TextInput.Update(msg)
|
43 | 45 | if done {
|
44 |
| - err := utils.SetConfig("common.gas_station_mnemonic", input.Text) |
45 |
| - if err != nil { |
46 |
| - return nil, nil |
47 |
| - } |
48 | 46 | view := styles.RenderPrompt("Please set up a Gas Station account", []string{"Gas Station account"}, styles.Question) +
|
49 | 47 | " " + styles.Text("(The account that will hold the funds required by the OPinit-bots or relayer to send transactions)", styles.Gray) +
|
50 | 48 | "\n> " + styles.Text(input.Text, styles.Ivory)
|
51 |
| - model := NewHomepageInitialization(view) |
| 49 | + model := NewHomepageInitialization(view, input.Text) |
52 | 50 | return model, model.Init()
|
53 | 51 | }
|
54 | 52 | m.TextInput = input
|
@@ -84,19 +82,32 @@ func (m *Homepage) View() string {
|
84 | 82 | type HomepageInitialization struct {
|
85 | 83 | previousResponse string
|
86 | 84 | loading utils.Loading
|
| 85 | + mnemonic string |
87 | 86 | }
|
88 | 87 |
|
89 |
| -func NewHomepageInitialization(prevRes string) tea.Model { |
| 88 | +func NewHomepageInitialization(prevRes, mnemonic string) tea.Model { |
90 | 89 | return &HomepageInitialization{
|
91 | 90 | previousResponse: prevRes,
|
92 |
| - loading: utils.NewLoading("Initializing Weave...", utils.DefaultWait()), |
| 91 | + loading: utils.NewLoading("Initializing Weave...", WaitSetGasStation(mnemonic)), |
| 92 | + mnemonic: mnemonic, |
93 | 93 | }
|
94 | 94 | }
|
95 | 95 |
|
96 | 96 | func (hi *HomepageInitialization) Init() tea.Cmd {
|
97 | 97 | return hi.loading.Init()
|
98 | 98 | }
|
99 | 99 |
|
| 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 | + |
100 | 111 | func (hi *HomepageInitialization) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
101 | 112 | loader, cmd := hi.loading.Update(msg)
|
102 | 113 | hi.loading = loader
|
|
0 commit comments