Merge #1431: gui(installer): display warning & selected icons

f075b3de74ccbce8d73bf3fc2e8a1ced32192e2e gui(installer): 37dab1bff29333e6f73616238d5e608975002ce7 make only the warning displayed when a device does not support tapminiscript, this commit add also the 'selected' icon (pythcoiner)

Pull request description:

  ![image](https://github.com/user-attachments/assets/b0ccc3e6-5d61-47f2-b8e3-0bd17d7c68b8)

ACKs for top commit:
  edouardparis:
    ACK f075b3de74ccbce8d73bf3fc2e8a1ced32192e2e

Tree-SHA512: bda25aec6719cf6934e021bfa7ba0c6fa2d193b00cb63f53f52d956b3541769942eb9e4a9b0a09f66fc94ac4f3533441d7f7725fd61136cf40544cd90d130f17
This commit is contained in:
edouardparis 2024-11-05 10:03:40 +01:00
commit 0b9a029e2a
No known key found for this signature in database
GPG Key ID: E65F7A089C20DC8F
2 changed files with 41 additions and 23 deletions

View File

@ -1558,11 +1558,19 @@ pub fn hw_list_view(
alias,
..
} => {
let not_tapminiscript = device_must_support_taproot
&& !is_compatible_with_tapminiscript(kind, version.as_ref());
if chosen && processing {
hw::processing_hardware_wallet(kind, version.as_ref(), fingerprint, alias.as_ref())
} else if device_must_support_taproot
&& !is_compatible_with_tapminiscript(kind, version.as_ref())
{
} else if selected {
hw::selected_hardware_wallet(kind, version.as_ref(), fingerprint, alias.as_ref(), {
if not_tapminiscript {
Some("Device firmware version does not support taproot miniscript")
} else {
None
}
})
} else if not_tapminiscript {
hw::warning_hardware_wallet(
kind,
version.as_ref(),
@ -1570,8 +1578,6 @@ pub fn hw_list_view(
alias.as_ref(),
"Device firmware version does not support taproot miniscript",
)
} else if selected {
hw::selected_hardware_wallet(kind, version.as_ref(), fingerprint, alias.as_ref())
} else {
hw::supported_hardware_wallet(kind, version.as_ref(), fingerprint, alias.as_ref())
}
@ -1627,6 +1633,13 @@ pub fn key_list_view<'a>(
version,
fingerprint,
Some(name),
if device_must_support_taproot
&& kind.map(|kind| is_compatible_with_tapminiscript(kind, version)) == Some(false)
{
Some("Device firmware version does not support taproot miniscript")
} else {
None
},
)
} else if device_must_support_taproot
&& kind.map(|kind| is_compatible_with_tapminiscript(kind, version)) == Some(false)

View File

@ -190,26 +190,31 @@ pub fn selected_hardware_wallet<'a, T: 'a, K: Display, V: Display, F: Display>(
version: Option<V>,
fingerprint: F,
alias: Option<impl Into<Cow<'a, str>>>,
warning: Option<&'static str>,
) -> Container<'a, T> {
container(
row(vec![
column(vec![
Row::new()
.spacing(5)
.push_maybe(alias.map(|a| text::p1_bold(a)))
.push(text::p1_regular(format!("#{}", fingerprint)))
.into(),
Row::new()
.spacing(5)
.push(text::caption(kind.to_string()))
.push_maybe(version.map(|v| text::caption(v.to_string())))
.into(),
])
.width(Length::Fill)
.into(),
image::success_mark_icon().width(Length::Fixed(50.0)).into(),
])
.align_items(Alignment::Center),
Row::new()
.push(
column(vec![
Row::new()
.spacing(5)
.push_maybe(alias.map(|a| text::p1_bold(a)))
.push(text::p1_regular(format!("#{}", fingerprint)))
.into(),
Row::new()
.spacing(5)
.push(text::caption(kind.to_string()))
.push_maybe(version.map(|v| text::caption(v.to_string())))
.into(),
])
.width(Length::Fill),
)
.push_maybe(warning.map(|w| {
tooltip::Tooltip::new(icon::warning_icon(), w, tooltip::Position::Bottom)
.style(theme::Container::Card(theme::Card::Simple))
}))
.push(image::success_mark_icon().width(Length::Fixed(50.0)))
.align_items(Alignment::Center),
)
.padding(10)
}