feat: support smol:// QR sharing, deep links and in-dialog scanning

This commit is contained in:
randogoth 2026-09-30 17:14:47 +03:00
parent 7d2a147fec
commit aa74e12ee7
20 changed files with 591 additions and 101 deletions

View file

@ -11,6 +11,7 @@ import "package:share_plus/share_plus.dart";
import "package:smol_mail/data/providers/providers.dart";
import "package:smol_mail/presentation/routes/app_router.gr.dart";
import "package:smol_mail/presentation/theme/app_colors.dart";
import "package:smol_mail/presentation/widgets/qr_code_sheet.dart";
import "package:smol_mail/shared/utils/snackbar.dart";
import "package:smol_mail/smol/address.dart";
import "package:smol_mail/smol/errors.dart";
@ -236,12 +237,18 @@ class _SettingsScreenState extends ConsumerState<SettingsScreen> {
overflow: TextOverflow.ellipsis,
),
),
if (share != null)
if (share != null) ...[
IconButton(
icon: const Icon(Icons.copy, size: 18),
onPressed: () =>
Clipboard.setData(ClipboardData(text: share)),
),
IconButton(
tooltip: "Show QR code",
icon: const Icon(Icons.qr_code, size: 18),
onPressed: () => showQrCodeSheet(context, share),
),
],
],
),
],