diff --git a/src/app/view/emergency.rs b/src/app/view/emergency.rs index 91b525c0..323615b1 100644 --- a/src/app/view/emergency.rs +++ b/src/app/view/emergency.rs @@ -39,11 +39,8 @@ impl EmergencyView { .push( Row::new().push(Column::new().width(Length::Fill)).push( Container::new( - button::cancel( - &mut self.close_button, - Container::new(text::simple("X Close")).padding(10), - ) - .on_press(Message::Menu(Menu::Home)), + button::close_button(&mut self.close_button) + .on_press(Message::Menu(Menu::Home)), ) .width(Length::Shrink), ), diff --git a/src/app/view/manager.rs b/src/app/view/manager.rs index 244a3aa2..a070698c 100644 --- a/src/app/view/manager.rs +++ b/src/app/view/manager.rs @@ -89,11 +89,8 @@ impl ManagerImportTransactionView { .push( Row::new().push(Column::new().width(Length::Fill)).push( Container::new( - button::cancel( - &mut self.cancel_button, - Container::new(text::simple("X Close")).padding(10), - ) - .on_press(Message::Menu(Menu::Home)), + button::close_button(&mut self.cancel_button) + .on_press(Message::Menu(Menu::Home)), ) .width(Length::Shrink), ), @@ -144,14 +141,8 @@ impl ManagerSendWelcomeView { .push( Row::new().push(Column::new().width(Length::Fill)).push( Container::new( - button::cancel( - &mut self.cancel_button, - Container::new(text::simple("X Close")) - .padding(10) - .width(Length::Units(100)) - .align_x(Align::Center), - ) - .on_press(Message::Menu(Menu::Home)), + button::close_button(&mut self.cancel_button) + .on_press(Message::Menu(Menu::Home)), ) .width(Length::Shrink), ), @@ -219,14 +210,8 @@ impl ManagerSelectOutputsView { .push( Column::new() .push( - button::cancel( - &mut self.cancel_button, - Container::new(text::simple("X Close")) - .padding(10) - .width(Length::Units(100)) - .align_x(Align::Center), - ) - .on_press(Message::Menu(Menu::Home)), + button::close_button(&mut self.cancel_button) + .on_press(Message::Menu(Menu::Home)), ) .align_items(Align::End) .width(Length::Fill), @@ -437,14 +422,8 @@ impl ManagerSelectInputsView { .push( Column::new() .push( - button::cancel( - &mut self.cancel_button, - Container::new(text::simple("X Close")) - .padding(10) - .width(Length::Units(100)) - .align_x(Align::Center), - ) - .on_press(Message::Menu(Menu::Home)), + button::close_button(&mut self.cancel_button) + .on_press(Message::Menu(Menu::Home)), ) .align_items(Align::End) .width(Length::Fill), @@ -616,14 +595,8 @@ impl ManagerSelectFeeView { .push( Column::new() .push(Container::new( - button::cancel( - &mut self.cancel_button, - Container::new(text::simple("X Close")) - .padding(10) - .width(Length::Units(100)) - .align_x(Align::Center), - ) - .on_press(Message::Menu(Menu::Home)), + button::close_button(&mut self.cancel_button) + .on_press(Message::Menu(Menu::Home)), )) .width(Length::Fill) .align_items(Align::End), @@ -905,14 +878,8 @@ impl ManagerSignView { .push( Column::new() .push( - button::cancel( - &mut self.cancel_button, - Container::new(text::simple("X Close")) - .padding(10) - .width(Length::Units(100)) - .align_x(Align::Center), - ) - .on_press(Message::Menu(Menu::Home)), + button::close_button(&mut self.cancel_button) + .on_press(Message::Menu(Menu::Home)), ) .width(Length::Fill) .align_items(Align::End), @@ -1003,14 +970,8 @@ impl ManagerSpendTransactionCreatedView { .push( Column::new() .push( - button::cancel( - &mut self.cancel_button, - Container::new(text::simple("X Close")) - .padding(10) - .width(Length::Units(100)) - .align_x(Align::Center), - ) - .on_press(Message::Menu(Menu::Home)), + button::close_button(&mut self.cancel_button) + .on_press(Message::Menu(Menu::Home)), ) .width(Length::Fill) .align_items(Align::End), diff --git a/src/app/view/spend_transaction.rs b/src/app/view/spend_transaction.rs index 919c0648..e90d8438 100644 --- a/src/app/view/spend_transaction.rs +++ b/src/app/view/spend_transaction.rs @@ -129,11 +129,8 @@ impl SpendTransactionView { .push( row.push( Container::new( - button::cancel( - &mut self.cancel_button, - Container::new(text::simple("X Close")).padding(10), - ) - .on_press(Message::Menu(Menu::Home)), + button::close_button(&mut self.cancel_button) + .on_press(Message::Menu(Menu::Home)), ) .width(Length::Shrink), ) diff --git a/src/app/view/stakeholder.rs b/src/app/view/stakeholder.rs index 643d076d..bcffe70c 100644 --- a/src/app/view/stakeholder.rs +++ b/src/app/view/stakeholder.rs @@ -120,9 +120,8 @@ impl StakeholderCreateVaultsView { ) .width(Length::Fill)).push( Container::new( - button::cancel( + button::close_button( &mut self.close_button, - Container::new(text::simple("X Close")).padding(10), ) .on_press(Message::Menu(Menu::Home)), ) @@ -242,9 +241,8 @@ impl StakeholderDelegateFundsView { ) .push( Container::new( - button::cancel( + button::close_button( &mut self.close_button, - Container::new(text::simple("X Close")).padding(10), ) .on_press(Message::Menu(Menu::Home)), ) diff --git a/src/app/view/vault.rs b/src/app/view/vault.rs index 8d4d7f00..9f186c03 100644 --- a/src/app/view/vault.rs +++ b/src/app/view/vault.rs @@ -50,11 +50,8 @@ impl VaultModal { } let header = Row::new().push(col.width(Length::Fill)).push( Container::new( - button::cancel( - &mut self.cancel_button, - Container::new(text::simple("X Close")).padding(10), - ) - .on_press(Message::SelectVault(vlt.outpoint())), + button::close_button(&mut self.cancel_button) + .on_press(Message::SelectVault(vlt.outpoint())), ) .width(Length::Shrink), ); diff --git a/src/ui/component/button.rs b/src/ui/component/button.rs index ec2eaf83..1128db17 100644 --- a/src/ui/component/button.rs +++ b/src/ui/component/button.rs @@ -1,4 +1,4 @@ -use crate::ui::{color, component::text, icon::clipboard_icon}; +use crate::ui::{color, component::text, icon::clipboard_icon, icon::cross_icon}; use iced::{button, Color, Container, Row, Vector}; macro_rules! button { @@ -116,3 +116,34 @@ impl button::StyleSheet for WhiteCardButtonStyle { } } } + +pub fn close_button<'a, T: 'a + Clone>(state: &'a mut button::State) -> button::Button<'a, T> { + button::Button::new( + state, + Container::new( + Row::new() + .push(cross_icon()) + .push(text::simple("Close")) + .spacing(5) + .width(iced::Length::Fill) + .height(iced::Length::Fill) + .align_items(iced::Align::Center), + ) + .padding(10), + ) + .style(CloseButtonStyle {}) +} + +struct CloseButtonStyle {} +impl button::StyleSheet for CloseButtonStyle { + fn active(&self) -> button::Style { + button::Style { + shadow_offset: Vector::default(), + background: color::CANCEL.into(), + border_radius: 10.0, + border_width: 0.0, + border_color: Color::TRANSPARENT, + text_color: Color::WHITE, + } + } +} diff --git a/src/ui/icon.rs b/src/ui/icon.rs index 5a62137d..3687a292 100644 --- a/src/ui/icon.rs +++ b/src/ui/icon.rs @@ -105,6 +105,10 @@ pub fn key_icon() -> Text { icon('\u{F44F}') } +pub fn cross_icon() -> Text { + icon('\u{F62A}') +} + #[allow(dead_code)] pub fn stakeholder_icon() -> Text { icon('\u{F4AE}')