anchor.diff:          ),
         ];
   
  -  _copyToClipboard(BuildContext context) {
  -    Clipboard.setData(ClipboardData(text: code!.value));
  +  _copyToClipboard(BuildContext context, WidgetRef ref, bool trigger) async {
  +    String value;
  +    if (trigger) {
  +      final updated = await _calculate(context, ref);
  +      value = updated.value;
  +    } else {
  +      value = code!.value;
  +    }
  +    await Clipboard.setData(ClipboardData(text: value));
       ScaffoldMessenger.of(context).showSnackBar(
         const SnackBar(
           content: Text('Code copied'),
  
positive.code:     );
    }
  
    _calculate(BuildContext context, WidgetRef ref) async {
      VoidCallback? close;
      if (credential.touchRequired) {
        final sbc = ScaffoldMessenger.of(context).showSnackBar(
  
negative.code:   @override
    Widget build(BuildContext context, WidgetRef ref) {
      final code = this.code;
      final label = credential.issuer != null
          ? '${credential.issuer} (${credential.name})'
          : credential.name;
      final expired = ref.watch(_expireProvider(code?.validTo ?? 0));
      final trigger = code == null ||
          expired &&
              (credential.touchRequired || credential.oathType == OathType.hotp);
  