Files
wehub-resource-sync bb087aad19
CI / format (push) Failing after 2s
CI / packaging (push) Failing after 0s
CI / test (push) Failing after 3s
chore: import upstream snapshot with attribution
2026-07-13 11:58:56 +08:00

38 lines
862 B
Dart

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:localsend_app/util/ui/snackbar.dart';
class CopyableText extends StatelessWidget {
final TextSpan? prefix;
final String name;
final String? value;
const CopyableText({
this.prefix,
required this.name,
required this.value,
});
@override
Widget build(BuildContext context) {
return InkWell(
onTap: value == null
? null
: () async {
await Clipboard.setData(ClipboardData(text: value!));
if (context.mounted) {
context.showSnackBar('Copied $name to clipboard!');
}
},
child: Text.rich(
TextSpan(
children: [
?prefix,
TextSpan(text: value ?? '-'),
],
),
),
);
}
}