diff --git a/crates/notedeck/src/lib.rs b/crates/notedeck/src/lib.rs index 41dd8a15..c182967e 100644 --- a/crates/notedeck/src/lib.rs +++ b/crates/notedeck/src/lib.rs @@ -64,7 +64,8 @@ pub use unknowns::{get_unknown_note_ids, NoteRefsUnkIdAction, SingleUnkIdAction, pub use urls::{supported_mime_hosted_at_url, SupportedMimeType, UrlMimes}; pub use user_account::UserAccount; pub use wallet::{ - get_wallet_for_mut, GlobalWallet, Wallet, WalletError, WalletType, WalletUIState, ZapWallet, + get_current_wallet, get_wallet_for_mut, GlobalWallet, Wallet, WalletError, WalletType, + WalletUIState, ZapWallet, }; pub use zaps::{ AnyZapState, DefaultZapError, DefaultZapMsats, NoteZapTarget, NoteZapTargetOwned, diff --git a/crates/notedeck/src/wallet.rs b/crates/notedeck/src/wallet.rs index 51230585..60ed12cd 100644 --- a/crates/notedeck/src/wallet.rs +++ b/crates/notedeck/src/wallet.rs @@ -24,6 +24,21 @@ pub fn get_wallet_for_mut<'a>( global_wallet.wallet.as_mut() } +pub fn get_current_wallet<'a>( + accounts: &'a mut Accounts, + global_wallet: &'a mut GlobalWallet, +) -> Option<&'a mut ZapWallet> { + let Some(acc) = accounts.get_selected_account_mut() else { + return global_wallet.wallet.as_mut(); + }; + + let Some(wallet) = &mut acc.wallet else { + return global_wallet.wallet.as_mut(); + }; + + Some(wallet) +} + #[derive(Clone, Eq, PartialEq, Debug)] pub enum WalletType { Auto,