showAddLnurlWalletDialog function
Future<Wallet?>
showAddLnurlWalletDialog(
- BuildContext context,
- NdkFlutter ndkFlutter, {
- bool returnToWalletType = false,
- AlbyGoConnectConfig albyGoConnectConfig = kDefaultAlbyGoConnectConfig,
Shows a dialog to add an LNURL wallet.
Returns the created Wallet if successful, or null if cancelled.
Implementation
Future<Wallet?> showAddLnurlWalletDialog(
BuildContext context,
NdkFlutter ndkFlutter, {
bool returnToWalletType = false,
AlbyGoConnectConfig albyGoConnectConfig = kDefaultAlbyGoConnectConfig,
}) async {
final l10n = AppLocalizations.of(context)!;
final identifierController = TextEditingController();
// Check if user is logged in and has lud16 in their profile
String? profileLud16;
if (ndkFlutter.ndk.accounts.isLoggedIn) {
final pubkey = ndkFlutter.ndk.accounts.getPublicKey();
if (pubkey != null) {
try {
final metadata = await ndkFlutter.ndk.metadata.loadMetadata(pubkey);
profileLud16 = metadata?.lud16;
} catch (e) {
// Ignore errors loading metadata
}
}
}
if (!context.mounted) return null;
return showDialog<Wallet?>(
context: context,
builder: (dialogContext) {
return _AddLnurlWalletDialog(
l10n: l10n,
identifierController: identifierController,
profileLud16: profileLud16,
ndkFlutter: ndkFlutter,
parentContext: context,
returnToWalletType: returnToWalletType,
albyGoConnectConfig: albyGoConnectConfig,
);
},
);
}