loginWithAmber method

Future<void> loginWithAmber()

Implementation

Future<void> loginWithAmber() async {
  isWaitingForAmber = true;

  final amber = Amberflutter();

  final isAmberInstalled = await amber.isAppInstalled();

  if (!isAmberInstalled) {
    launchUrl(Uri.parse('https://github.com/greenart7c3/Amber'));
    return;
  }

  final amberFlutterDS = AmberFlutterDS(amber);

  final amberResponse = await amber.getPublicKey();

  final npub = amberResponse['signature'];
  final pubkey = Nip19.decode(npub);

  final amberSigner = AmberEventSigner(
    publicKey: pubkey,
    amberFlutterDS: amberFlutterDS,
  );

  ndk.accounts.loginExternalSigner(signer: amberSigner);

  isWaitingForAmber = false;

  await loggedIn();
}