Skip to content

Commit f8d5966

Browse files
committed
feat: snapshot downloading model
1 parent 0eca449 commit f8d5966

File tree

1 file changed

+35
-2
lines changed

1 file changed

+35
-2
lines changed

models/weaveinit/run_l1_node.go

+35-2
Original file line numberDiff line numberDiff line change
@@ -817,8 +817,8 @@ func (m *SnapshotEndpointInput) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
817817
if done {
818818
m.state.snapshotEndpoint = input.Text
819819
m.state.weave.PreviousResponse += styles.RenderPreviousResponse(styles.DotsSeparator, m.GetQuestion(), []string{"snapshot url"}, input.Text)
820-
// TODO: Continue
821-
return m, tea.Quit
820+
snapshotDownload := NewSnapshotDownloadLoading(m.state)
821+
return snapshotDownload, snapshotDownload.Init()
822822
}
823823
m.TextInput = input
824824
return m, cmd
@@ -867,3 +867,36 @@ func (m *StateSyncEndpointInput) View() string {
867867
// TODO: Correctly render terminal output
868868
return m.state.weave.PreviousResponse + styles.RenderPrompt(m.GetQuestion(), []string{"state sync RPC"}, styles.Question) + m.TextInput.View()
869869
}
870+
871+
type SnapshotDownloadLoading struct {
872+
utils.Loading
873+
state *RunL1NodeState
874+
}
875+
876+
func NewSnapshotDownloadLoading(state *RunL1NodeState) *SnapshotDownloadLoading {
877+
return &SnapshotDownloadLoading{
878+
Loading: utils.NewLoading("Downloading snapshot from the provided URL...", utils.DefaultWait()),
879+
state: state,
880+
}
881+
}
882+
883+
func (m *SnapshotDownloadLoading) Init() tea.Cmd {
884+
return m.Loading.Init()
885+
}
886+
887+
func (m *SnapshotDownloadLoading) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
888+
loader, cmd := m.Loading.Update(msg)
889+
m.Loading = loader
890+
if m.Loading.Completing {
891+
m.state.weave.PreviousResponse += styles.RenderPreviousResponse(styles.NoSeparator, "Snapshot downloaded successfully.", []string{}, "")
892+
return m, tea.Quit
893+
}
894+
return m, cmd
895+
}
896+
897+
func (m *SnapshotDownloadLoading) View() string {
898+
if m.Completing {
899+
return m.state.weave.PreviousResponse
900+
}
901+
return m.state.weave.PreviousResponse + m.Loading.View()
902+
}

0 commit comments

Comments
 (0)