anchor.diff:    }
   }
   
  -class DragDropTarget extends StatefulWidget {
  +class DragDropTarget extends ConsumerStatefulWidget {
     final QrScanner qrScanner;
     DragDropTarget({Key? key, required this.qrScanner}) : super(key: key);
   
  
positive.code: import '../models.dart';
  import '../state.dart';
  import 'utils.dart';
  
  final _secretFormatterPattern =
      RegExp('[abcdefghijklmnopqrstuvwxyz234567 ]', caseSensitive: false);
  
negative.code:   @override
    Widget build(BuildContext context) {
      return DropTarget(
          onDragDone: (detail) async {
            setState(() {
              _list.addAll(detail.files);
            });
            print('onDragDone:');
            for (final file in detail.files) {
              File f = new File(file.path);
              List<int> imageBytes = f.readAsBytesSync();
              String base64Image = base64Encode(imageBytes);
              final otpauth = await widget.qrScanner.scanQr(base64Image);
              print('Scanning complete');
              print(otpauth);
              ref.read(uriProvider.notifier).setUri(otpauth);
            }
          },
          onDragEntered: (detail) {
            setState(() {
              _dragging = true;
            });
          },
          onDragExited: (detail) {
            setState(() {
              _dragging = false;
            });
          },
          child: Container(
              color: _dragging ? Colors.blue.withOpacity(0.4) : Colors.black26,
              child: Column(
                mainAxisSize: MainAxisSize.max,
                mainAxisAlignment: MainAxisAlignment.center,
                crossAxisAlignment: CrossAxisAlignment.stretch,
                children: [
                  SizedBox(
                    height: 500,
                    child: _list.isEmpty
                        ? const Center(child: Text("Drop here"))
                        : Text(_list.join("\n")),
                  )
                ],
              )));
    }
  }
  