fix receive panel: reset addresses on reload

We reintroduce previous behaviour:
Reset the list when user leave and come back to the receive panel.
This commit is contained in:
edouardparis 2024-03-25 14:56:07 +01:00
parent 05e4e38e68
commit 65f4a75813

View File

@ -40,12 +40,6 @@ pub struct Addresses {
labels: HashMap<String, String>, labels: HashMap<String, String>,
} }
impl Addresses {
fn is_empty(&self) -> bool {
self.list.is_empty()
}
}
impl Labelled for Addresses { impl Labelled for Addresses {
fn labelled(&self) -> Vec<LabelItem> { fn labelled(&self) -> Vec<LabelItem> {
self.list self.list
@ -200,21 +194,17 @@ impl State for ReceivePanel {
wallet: Arc<Wallet>, wallet: Arc<Wallet>,
) -> Command<Message> { ) -> Command<Message> {
self.wallet = wallet; self.wallet = wallet;
// Fill at least with one address, user will then use the generate button. self.addresses = Addresses::default();
if self.addresses.is_empty() { let daemon = daemon.clone();
let daemon = daemon.clone(); Command::perform(
Command::perform( async move {
async move { daemon
daemon .get_new_address()
.get_new_address() .map(|res| (res.address, res.derivation_index))
.map(|res| (res.address, res.derivation_index)) .map_err(|e| e.into())
.map_err(|e| e.into()) },
}, Message::ReceiveAddress,
Message::ReceiveAddress, )
)
} else {
Command::none()
}
} }
} }