From 1d1a28195527cc04ce99969e5c85d2632402d73e Mon Sep 17 00:00:00 2001 From: edouardparis Date: Fri, 23 May 2025 15:48:13 +0200 Subject: [PATCH] Revert "gui: store SignModal state and allow to open export modal after signing in PSBT panel" This reverts commit 7281e6352967009419a493ccd3825887001afa14. --- liana-gui/src/app/state/psbt.rs | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/liana-gui/src/app/state/psbt.rs b/liana-gui/src/app/state/psbt.rs index ab1bdc2e..0245e160 100644 --- a/liana-gui/src/app/state/psbt.rs +++ b/liana-gui/src/app/state/psbt.rs @@ -92,9 +92,6 @@ pub struct PsbtState { pub warning: Option, pub labels_edited: LabelsEdited, pub modal: Option, - // NOTE: sign_modal is used to store state of SignModal - // when another modal is selected - pub sign_modal: Option, } impl PsbtState { @@ -105,7 +102,6 @@ impl PsbtState { labels_edited: LabelsEdited::default(), warning: None, modal: None, - sign_modal: None, tx, saved, } @@ -169,19 +165,19 @@ impl PsbtState { } } Message::View(view::Message::Spend(view::SpendTxMessage::Cancel)) => { - if matches!(self.modal, Some(PsbtModal::Sign(_))) { - // store SignModal state - self.sign_modal = self.modal.take(); + if let Some(PsbtModal::Sign(SignModal { display_modal, .. })) = &mut self.modal { + *display_modal = false; + return Task::none(); } + self.modal = None; } Message::View(view::Message::Spend(view::SpendTxMessage::Delete)) => { self.modal = Some(PsbtModal::Delete(DeleteModal::default())); } Message::View(view::Message::Spend(view::SpendTxMessage::Sign)) => { - if self.sign_modal.is_some() { - // restore SignModal state - self.modal = self.sign_modal.take(); + if let Some(PsbtModal::Sign(SignModal { display_modal, .. })) = &mut self.modal { + *display_modal = true; return Task::none(); } @@ -487,6 +483,7 @@ impl Modal for SignModal { .. }) = self.hws.list.get(i) { + self.display_modal = false; self.signing.insert(*fingerprint); let psbt = tx.psbt.clone(); let fingerprint = *fingerprint; @@ -561,7 +558,7 @@ impl Modal for SignModal { Task::none() } fn view<'a>(&'a self, content: Element<'a, view::Message>) -> Element<'a, view::Message> { - let content: Element<'a, view::Message> = toast::Manager::new( + let content = toast::Manager::new( content, view::psbt::sign_action_toasts(self.error.as_ref(), &self.hws.list, &self.signing), )