show static method

Future<void> show(
  1. BuildContext context, {
  2. required String title,
  3. required String secret,
})

Shows the dialog until the user confirms they stored the secret.

Implementation

static Future<void> show(BuildContext context, {required String title, required String secret}) {
  final l = NmAccount.l10n(context);
  final core = NmL10n.of(context);
  return showDialog<void>(
    context: context,
    barrierDismissible: false,
    builder: (context) => AlertDialog(
      title: Text(title),
      content: SizedBox(
        width: 460,
        child: Column(
          mainAxisSize: MainAxisSize.min,
          crossAxisAlignment: CrossAxisAlignment.stretch,
          children: [
            NmNotice(tone: NmTone.warning, title: l.secretShownOnce),
            const SizedBox(height: 12),
            NmCard(
              tint: true,
              child: SelectableText(
                secret,
                key: const ValueKey('revealed-secret'),
                style: const TextStyle(fontFamily: 'monospace'),
              ),
            ),
          ],
        ),
      ),
      actions: [
        NmButton.secondary(
          label: core.actionCopy,
          icon: NmFugue.clipboard,
          onPressed: () => Clipboard.setData(ClipboardData(text: secret)),
        ),
        NmButton(label: l.secretStored, onPressed: () => Navigator.of(context).pop()),
      ],
    ),
  );
}