diff --git a/auth/lib/onboarding/view/setup_enter_secret_key_page.dart b/auth/lib/onboarding/view/setup_enter_secret_key_page.dart index 1ba19d212a..83d4e92bc2 100644 --- a/auth/lib/onboarding/view/setup_enter_secret_key_page.dart +++ b/auth/lib/onboarding/view/setup_enter_secret_key_page.dart @@ -10,6 +10,7 @@ import 'package:ente_auth/onboarding/view/common/add_chip.dart'; import 'package:ente_auth/onboarding/view/common/add_tag.dart'; import 'package:ente_auth/onboarding/view/common/field_label.dart'; import 'package:ente_auth/onboarding/view/common/tag_chip.dart'; +import 'package:ente_auth/onboarding/view/view_qr_page.dart'; import 'package:ente_auth/store/code_display_store.dart'; import 'package:ente_auth/theme/ente_theme.dart'; import 'package:ente_auth/ui/components/buttons/button_widget.dart'; @@ -115,6 +116,22 @@ class _SetupEnterSecretKeyPageState extends State { return Scaffold( appBar: AppBar( title: Text(l10n.importAccountPageTitle), + actions: [ + if (widget.code != null) + IconButton( + icon: const Icon(Icons.qr_code_2_outlined), + enableFeedback: true, + onPressed: () { + Navigator.of(context).push( + MaterialPageRoute( + builder: (BuildContext context) { + return ViewQrPage(code: widget.code); + }, + ), + ).ignore(); + }, + ), + ], ), body: SingleChildScrollView( child: Padding( @@ -348,6 +365,9 @@ class _SetupEnterSecretKeyPageState extends State { final notes = _notesController.text.trim(); final isStreamCode = issuer.toLowerCase() == "steam" || issuer.toLowerCase().contains('steampowered.com'); + final CodeDisplay display = + widget.code?.display.copyWith(tags: tags) ?? CodeDisplay(tags: tags); + display.note = notes; if (widget.code != null && widget.code!.secret != secret) { ButtonResult? result = await showChoiceActionSheet( context, @@ -362,9 +382,7 @@ class _SetupEnterSecretKeyPageState extends State { return; } } - final CodeDisplay display = - widget.code?.display.copyWith(tags: tags) ?? CodeDisplay(tags: tags); - display.note = notes; + final Code newCode = widget.code == null ? Code.fromAccountAndSecret( isStreamCode ? Type.steam : Type.totp,