Merge #979: [GUI] fixed size/position for PSBT badges

e05e42136801e3168b99be378ae85e2852a8ccf6 refac ui: expose badge_pill width (edouardparis)
66f392c7543a013d0ba7eed8a3104538dd10f1f5 fixed size for badges (pythcoiner)

Pull request description:

  this PR try to fix #509
  i refactored some badges , moving (optional) `batch` badge before mandatory ones and give fixed positions/size for mandatory badges

  before:

  ![image](https://github.com/wizardsardine/liana/assets/124568858/02390bf1-d409-4854-a2bc-e9cf39aae53e)

  after:

  ![image](https://github.com/wizardsardine/liana/assets/124568858/38fee222-e0ee-42ad-a088-0ac449a6fa81)

ACKs for top commit:
  edouardparis:
    ACK e05e42136801e3168b99be378ae85e2852a8ccf6

Tree-SHA512: 9e7efa8aec40540255666350f2aea3f7175cb2fd161152e30335eb2a8b605ba5fa8fbac9cce90e7e3e53aab3ca71c8cc855ae8448ddfed337cf2eca2dc3d2e2a
This commit is contained in:
edouardparis 2024-03-13 15:55:07 +01:00
commit a7b9718ddf
No known key found for this signature in database
GPG Key ID: E65F7A089C20DC8F
2 changed files with 33 additions and 54 deletions

View File

@ -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),

View File

@ -75,66 +75,45 @@ pub fn coin<T>() -> 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))
})
}