diff --git a/lib/pages/chat/event_info_dialog.dart b/lib/pages/chat/event_info_dialog.dart index dca325dfd..aafd63c33 100644 --- a/lib/pages/chat/event_info_dialog.dart +++ b/lib/pages/chat/event_info_dialog.dart @@ -1,14 +1,13 @@ import 'dart:convert'; -import 'package:flutter/material.dart'; - -import 'package:flutter_gen/gen_l10n/l10n.dart'; -import 'package:matrix/matrix.dart'; - import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/utils/adaptive_bottom_sheet.dart'; import 'package:fluffychat/utils/date_time_extension.dart'; import 'package:fluffychat/widgets/avatar.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; +import 'package:matrix/matrix.dart'; extension EventInfoDialogExtension on Event { void showInfoDialog(BuildContext context) => showAdaptiveBottomSheet( @@ -69,7 +68,23 @@ class EventInfoDialog extends StatelessWidget { title: Text('${L10n.of(context).status}:'), subtitle: Text(event.status.name), ), - ListTile(title: Text('${L10n.of(context).sourceCode}:')), + ListTile( + title: Text('${L10n.of(context).sourceCode}:'), + //#Pangea + trailing: IconButton( + icon: const Icon(Icons.copy), + onPressed: () { + Clipboard.setData( + ClipboardData(text: event.toJson().toString())); + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text(L10n.of(context).copiedToClipboard), + ), + ); + }, + ), + ), + //Pangea# Padding( padding: const EdgeInsets.all(12.0), child: Material(