anchor.diff:              ),
               if (qrScanner != null)
                 Padding(
  -                padding: const EdgeInsets.only(top: 24.0),
  +                padding: const EdgeInsets.only(top: 16.0),
                   child: Row(
                     children: [
  -                    OutlinedButton.icon(
  -                      onPressed: () {
  -                        _scanQrCode(qrScanner);
  -                      },
  -                      icon: const Icon(Icons.qr_code),
  -                      label: const Text('Scan QR code'),
  -                    ),
  -                    const SizedBox(width: 8.0),
  -                    ..._buildQrStatus(),
  +                    if (_qrState != _QrScanState.scanning) ...[
  +                      OutlinedButton.icon(
  +                        style: OutlinedButton.styleFrom(
  +                            fixedSize: const Size.fromWidth(132)),
  +                        onPressed: () {
  +                          _scanQrCode(qrScanner);
  +                        },
  +                        icon: const Icon(Icons.qr_code),
  +                        label: const Text('Scan QR code'),
  +                      )
  +                    ] else ...[
  +                      OutlinedButton(
  +                        style: OutlinedButton.styleFrom(
  +                            fixedSize: const Size.fromWidth(132)),
  +                        onPressed: null,
  +                        child: const SizedBox.square(
  +                            dimension: 16.0,
  +                            child: CircularProgressIndicator()),
  +                      )
  +                    ]
                     ],
                   ),
                 ),
               const Divider(),
  -            Text(
  -              'Options',
  -              style: Theme.of(context).textTheme.titleLarge,
  -            ),
               Wrap(
                 crossAxisAlignment: WrapCrossAlignment.center,
                 spacing: 4.0,
  
positive.code:         child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              Text(
                'Account details',
                style: Theme.of(context).textTheme.titleLarge,
              ),
              TextField(
                key: const Key('issuer'),
                controller: _issuerController,
  
negative.code:                     },
                    ),
                    border: const OutlineInputBorder(),
                    prefixIcon: const Icon(Icons.key_outlined),
                    labelText: 'Secret key',
                    errorText: _validateSecretLength && !secretLengthValid
                        ? 'Invalid length'
  