feat(event_info_dialog): button to copy info (#2492)

This commit is contained in:
wcjord 2025-04-17 15:52:27 -04:00 committed by GitHub
parent e5d839b20f
commit 4d7428d4a4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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(