diff --git a/gui/src/app/view/psbts.rs b/gui/src/app/view/psbts.rs index 66252f9c..74f9dd74 100644 --- a/gui/src/app/view/psbts.rs +++ b/gui/src/app/view/psbts.rs @@ -133,17 +133,17 @@ fn spend_tx_list_view(i: usize, tx: &SpendTx) -> Element<'_, Message> { .align_items(Alignment::Center) .width(Length::Fill), ) - .push_maybe(match tx.status { - SpendStatus::Deprecated => Some(badge::deprecated()), - SpendStatus::Broadcast => Some(badge::unconfirmed()), - SpendStatus::Spent => Some(badge::spent()), - _ => None, - }) .push_maybe(if tx.is_batch() { Some(badge::batch()) } else { None }) + .push_maybe(match tx.status { + SpendStatus::Deprecated => Some(badge::deprecated().width(120.0)), + SpendStatus::Broadcast => Some(badge::unconfirmed().width(120.0)), + SpendStatus::Spent => Some(badge::spent().width(120.0)), + _ => None, + }) .push( Column::new() .align_items(Alignment::End) @@ -153,7 +153,7 @@ fn spend_tx_list_view(i: usize, tx: &SpendTx) -> Element<'_, Message> { Container::new(p1_regular("Self-transfer")) }) .push_maybe(tx.fee_amount.map(|fee| amount_with_size(&fee, P2_SIZE))) - .width(Length::Shrink), + .width(Length::Fixed(140.0)), ) .align_items(Alignment::Center) .spacing(20), diff --git a/gui/ui/src/component/badge.rs b/gui/ui/src/component/badge.rs index e64f70f1..502489a7 100644 --- a/gui/ui/src/component/badge.rs +++ b/gui/ui/src/component/badge.rs @@ -75,66 +75,45 @@ pub fn coin() -> Container<'static, T> { } pub fn recovery<'a, T: 'a>() -> Container<'a, T> { - Container::new( - tooltip::Tooltip::new( - Container::new(text::p2_regular(" Recovery ")) - .padding(10) - .style(theme::Container::Pill(theme::Pill::Simple)), - "This transaction is using a recovery path", - tooltip::Position::Top, - ) - .style(theme::Container::Card(theme::Card::Simple)), - ) + badge_pill(" Recovery ", "This transaction is using a recovery path") } pub fn unconfirmed<'a, T: 'a>() -> Container<'a, T> { - Container::new( - tooltip::Tooltip::new( - Container::new(text::p2_regular(" Unconfirmed ")) - .padding(10) - .style(theme::Container::Pill(theme::Pill::Simple)), - "Do not treat this as a payment until it is confirmed", - tooltip::Position::Top, - ) - .style(theme::Container::Card(theme::Card::Simple)), + badge_pill( + " Unconfirmed ", + "Do not treat this as a payment until it is confirmed", ) } pub fn batch<'a, T: 'a>() -> Container<'a, T> { - Container::new( - tooltip::Tooltip::new( - Container::new(text::p2_regular(" Batch ")) - .padding(10) - .style(theme::Container::Pill(theme::Pill::Simple)), - "This transaction contains multiple payments", - tooltip::Position::Top, - ) - .style(theme::Container::Card(theme::Card::Simple)), - ) + badge_pill(" Batch ", "This transaction contains multiple payments") } pub fn deprecated<'a, T: 'a>() -> Container<'a, T> { - Container::new( - tooltip::Tooltip::new( - Container::new(text::p2_regular(" Deprecated ")) - .padding(10) - .style(theme::Container::Pill(theme::Pill::Simple)), - "This transaction cannot be included in the blockchain anymore.", - tooltip::Position::Top, - ) - .style(theme::Container::Card(theme::Card::Simple)), + badge_pill( + " Deprecated ", + "This transaction cannot be included in the blockchain anymore.", ) } pub fn spent<'a, T: 'a>() -> Container<'a, T> { - Container::new( - tooltip::Tooltip::new( - Container::new(text::p2_regular(" Spent ")) - .padding(10) - .style(theme::Container::Pill(theme::Pill::Simple)), - "The transaction was included in the blockchain.", - tooltip::Position::Top, - ) - .style(theme::Container::Card(theme::Card::Simple)), + badge_pill( + " Spent ", + "The transaction was included in the blockchain.", ) } + +pub fn badge_pill<'a, T: 'a>(label: &'a str, tooltip: &'a str) -> Container<'a, T> { + Container::new({ + tooltip::Tooltip::new( + Container::new(text::p2_regular(label)) + .padding(10) + .width(Length::Fill) + .center_x() + .style(theme::Container::Pill(theme::Pill::Simple)), + tooltip, + tooltip::Position::Top, + ) + .style(theme::Container::Card(theme::Card::Simple)) + }) +}