installer: add progress information
This commit is contained in:
parent
0365794f91
commit
0577b971b7
@ -160,7 +160,7 @@ impl Installer {
|
||||
self.steps
|
||||
.get(self.current)
|
||||
.expect("There is always a step")
|
||||
.view()
|
||||
.view((self.current, self.steps.len() - 1))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -158,11 +158,12 @@ impl Step for DefineDescriptor {
|
||||
true
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self, progress: (usize, usize)) -> Element<Message> {
|
||||
if let Some(modal) = &self.modal {
|
||||
modal.view()
|
||||
} else {
|
||||
view::define_descriptor(
|
||||
progress,
|
||||
self.network,
|
||||
self.network_valid,
|
||||
&self.user_xpub,
|
||||
@ -372,8 +373,9 @@ impl Step for ImportDescriptor {
|
||||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self, progress: (usize, usize)) -> Element<Message> {
|
||||
view::import_descriptor(
|
||||
progress,
|
||||
self.network,
|
||||
self.network_valid,
|
||||
&self.imported_descriptor,
|
||||
@ -473,9 +475,10 @@ impl Step for RegisterDescriptor {
|
||||
Message::ConnectedHardwareWallets,
|
||||
)
|
||||
}
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self, progress: (usize, usize)) -> Element<Message> {
|
||||
let desc = self.descriptor.as_ref().unwrap();
|
||||
view::register_descriptor(
|
||||
progress,
|
||||
desc.to_string(),
|
||||
&self.hws,
|
||||
self.error.as_ref(),
|
||||
@ -519,9 +522,9 @@ impl Step for BackupDescriptor {
|
||||
fn load_context(&mut self, ctx: &Context) {
|
||||
self.descriptor = ctx.descriptor.clone();
|
||||
}
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self, progress: (usize, usize)) -> Element<Message> {
|
||||
let desc = self.descriptor.as_ref().unwrap();
|
||||
view::backup_descriptor(desc.to_string(), self.done)
|
||||
view::backup_descriptor(progress, desc.to_string(), self.done)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@ pub trait Step {
|
||||
fn update(&mut self, _message: Message) -> Command<Message> {
|
||||
Command::none()
|
||||
}
|
||||
fn view(&self) -> Element<Message>;
|
||||
fn view(&self, progress: (usize, usize)) -> Element<Message>;
|
||||
fn load_context(&mut self, _ctx: &Context) {}
|
||||
fn load(&self) -> Command<Message> {
|
||||
Command::none()
|
||||
@ -69,7 +69,7 @@ impl Context {
|
||||
pub struct Welcome {}
|
||||
|
||||
impl Step for Welcome {
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self, _progress: (usize, usize)) -> Element<Message> {
|
||||
view::welcome()
|
||||
}
|
||||
}
|
||||
@ -191,8 +191,8 @@ impl Step for DefineBitcoind {
|
||||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
view::define_bitcoin(&self.address, &self.cookie_path)
|
||||
fn view(&self, progress: (usize, usize)) -> Element<Message> {
|
||||
view::define_bitcoin(progress, &self.address, &self.cookie_path)
|
||||
}
|
||||
}
|
||||
|
||||
@ -252,10 +252,11 @@ impl Step for Final {
|
||||
Command::none()
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
fn view(&self, progress: (usize, usize)) -> Element<Message> {
|
||||
let ctx = self.context.as_ref().unwrap();
|
||||
let desc = ctx.descriptor.as_ref().unwrap().to_string();
|
||||
view::install(
|
||||
progress,
|
||||
ctx,
|
||||
desc,
|
||||
self.generating,
|
||||
|
||||
@ -118,6 +118,7 @@ pub fn welcome<'a>() -> Element<'a, Message> {
|
||||
}
|
||||
|
||||
pub fn define_descriptor<'a>(
|
||||
progress: (usize, usize),
|
||||
network: bitcoin::Network,
|
||||
network_valid: bool,
|
||||
user_xpub: &form::Value<String>,
|
||||
@ -207,6 +208,7 @@ pub fn define_descriptor<'a>(
|
||||
.spacing(10);
|
||||
|
||||
layout(
|
||||
progress,
|
||||
Column::new()
|
||||
.push(text("Create the wallet").bold().size(50))
|
||||
.push(
|
||||
@ -239,6 +241,7 @@ pub fn define_descriptor<'a>(
|
||||
}
|
||||
|
||||
pub fn import_descriptor<'a>(
|
||||
progress: (usize, usize),
|
||||
network: bitcoin::Network,
|
||||
network_valid: bool,
|
||||
imported_descriptor: &form::Value<String>,
|
||||
@ -273,6 +276,7 @@ pub fn import_descriptor<'a>(
|
||||
)
|
||||
.spacing(10);
|
||||
layout(
|
||||
progress,
|
||||
Column::new()
|
||||
.push(text("Import the wallet").bold().size(50))
|
||||
.push(
|
||||
@ -298,6 +302,7 @@ pub fn import_descriptor<'a>(
|
||||
}
|
||||
|
||||
pub fn register_descriptor<'a>(
|
||||
progress: (usize, usize),
|
||||
descriptor: String,
|
||||
hws: &[(HardwareWallet, Option<[u8; 32]>, bool)],
|
||||
error: Option<&Error>,
|
||||
@ -305,6 +310,7 @@ pub fn register_descriptor<'a>(
|
||||
chosen_hw: Option<usize>,
|
||||
) -> Element<'a, Message> {
|
||||
layout(
|
||||
progress,
|
||||
Column::new()
|
||||
.push(text("Register descriptor").bold().size(50))
|
||||
.push(card::simple(
|
||||
@ -368,8 +374,13 @@ pub fn register_descriptor<'a>(
|
||||
)
|
||||
}
|
||||
|
||||
pub fn backup_descriptor<'a>(descriptor: String, done: bool) -> Element<'a, Message> {
|
||||
pub fn backup_descriptor<'a>(
|
||||
progress: (usize, usize),
|
||||
descriptor: String,
|
||||
done: bool,
|
||||
) -> Element<'a, Message> {
|
||||
layout(
|
||||
progress,
|
||||
Column::new()
|
||||
.push(
|
||||
text("Did you backup your wallet descriptor ?")
|
||||
@ -442,6 +453,7 @@ pub fn help_backup<'a>() -> Element<'a, Message> {
|
||||
}
|
||||
|
||||
pub fn define_bitcoin<'a>(
|
||||
progress: (usize, usize),
|
||||
address: &form::Value<String>,
|
||||
cookie_path: &form::Value<String>,
|
||||
) -> Element<'a, Message> {
|
||||
@ -470,6 +482,7 @@ pub fn define_bitcoin<'a>(
|
||||
.spacing(10);
|
||||
|
||||
layout(
|
||||
progress,
|
||||
Column::new()
|
||||
.push(
|
||||
text("Set up connection to the Bitcoin full node")
|
||||
@ -492,6 +505,7 @@ pub fn define_bitcoin<'a>(
|
||||
}
|
||||
|
||||
pub fn install<'a>(
|
||||
progress: (usize, usize),
|
||||
context: &Context,
|
||||
descriptor: String,
|
||||
generating: bool,
|
||||
@ -606,7 +620,7 @@ pub fn install<'a>(
|
||||
);
|
||||
}
|
||||
|
||||
layout(col)
|
||||
layout(progress, col)
|
||||
}
|
||||
|
||||
pub fn hardware_wallet_xpubs_modal<'a>(
|
||||
@ -715,13 +729,21 @@ fn hw_list_view<'a>(
|
||||
.into()
|
||||
}
|
||||
|
||||
fn layout<'a>(content: impl Into<Element<'a, Message>>) -> Element<'a, Message> {
|
||||
fn layout<'a>(
|
||||
progress: (usize, usize),
|
||||
content: impl Into<Element<'a, Message>>,
|
||||
) -> Element<'a, Message> {
|
||||
Container::new(Scrollable::new(
|
||||
Column::new()
|
||||
.push(
|
||||
Container::new(button::transparent(None, "< Previous").on_press(Message::Previous))
|
||||
.padding(5),
|
||||
)
|
||||
.push(
|
||||
Container::new(text(format!("{}/{}", progress.0, progress.1)))
|
||||
.width(Length::Fill)
|
||||
.center_x(),
|
||||
)
|
||||
.push(Container::new(content).width(Length::Fill).center_x()),
|
||||
))
|
||||
.center_x()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user