copyToClipboardWithMessenger function

void copyToClipboardWithMessenger(
  1. ScaffoldMessengerState? messenger,
  2. String text,
  3. String message
)

The messenger is captured up front so a SnackBar can still be shown after the dialog is closed.

Implementation

void copyToClipboardWithMessenger(
  ScaffoldMessengerState? messenger,
  String text,
  String message,
) {
  Clipboard.setData(ClipboardData(text: text));
  messenger?.showSnackBar(
    SnackBar(
      content: Text(message, maxLines: 2, overflow: TextOverflow.ellipsis),
      duration: const Duration(seconds: 2),
      behavior: SnackBarBehavior.floating,
      shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
    ),
  );
}