diff --git a/lib/view/pages/more/share/selectShareTypeDialog.dart b/lib/view/pages/more/share/selectShareTypeDialog.dart index e8f62e9..35dc4b3 100644 --- a/lib/view/pages/more/share/selectShareTypeDialog.dart +++ b/lib/view/pages/more/share/selectShareTypeDialog.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:loader_overlay/loader_overlay.dart'; import 'package:share_plus/share_plus.dart'; +import '../../../../widget/sharePositionOrigin.dart'; import 'qrShareView.dart'; class SelectShareTypeDialog extends StatelessWidget { @@ -26,7 +27,7 @@ class SelectShareTypeDialog extends StatelessWidget { trailing: const Icon(Icons.arrow_right), onTap: () { Share.share( - sharePositionOrigin: Rect.fromLTWH(0, 0, MediaQuery.of(context).size.width, MediaQuery.of(context).size.height / 2), + sharePositionOrigin: SharePositionOrigin.get(context), subject: "App Teilen", "Hol dir die für das Marianum maßgeschneiderte App:" "\n\nAndroid: https://play.google.com/store/apps/details?id=eu.mhsl.marianum.mobile.client " diff --git a/lib/view/pages/talk/components/chatBubble.dart b/lib/view/pages/talk/components/chatBubble.dart index 15338dc..50ca653 100644 --- a/lib/view/pages/talk/components/chatBubble.dart +++ b/lib/view/pages/talk/components/chatBubble.dart @@ -1,6 +1,7 @@ import 'package:better_open_file/better_open_file.dart'; import 'package:bubble/bubble.dart'; import 'package:flowder/flowder.dart'; +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:jiffy/jiffy.dart'; @@ -227,11 +228,13 @@ class _ChatBubbleState extends State { ), ), Visibility( - visible: !widget.isSender && widget.chatData.type != GetRoomResponseObjectConversationType.oneToOne, + visible: !kReleaseMode && !widget.isSender && widget.chatData.type != GetRoomResponseObjectConversationType.oneToOne, child: ListTile( leading: const Icon(Icons.sms_outlined), title: Text("Private Nachricht an '${widget.bubbleData.actorDisplayName}'"), - onTap: () => {}, + onTap: () => { + Navigator.of(context).pop() + }, ), ), Visibility( diff --git a/lib/widget/fileViewer.dart b/lib/widget/fileViewer.dart index edccd43..13748d3 100644 --- a/lib/widget/fileViewer.dart +++ b/lib/widget/fileViewer.dart @@ -5,10 +5,12 @@ import 'package:better_open_file/better_open_file.dart'; import 'package:flutter/material.dart'; import 'package:photo_view/photo_view.dart'; import 'package:provider/provider.dart'; +import 'package:share_plus/share_plus.dart'; import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart'; import '../storage/base/settingsProvider.dart'; import 'placeholderView.dart'; +import 'sharePositionOrigin.dart'; class FileViewer extends StatefulWidget { final String path; @@ -43,6 +45,15 @@ class _FileViewerState extends State { ), icon: const Icon(Icons.open_in_new) ), + IconButton( + onPressed: () { + Share.shareXFiles( + [XFile(widget.path)], + sharePositionOrigin: SharePositionOrigin.get(context), + ); + }, + icon: const Icon(Icons.share_outlined), + ), ...actions ], ); diff --git a/lib/widget/sharePositionOrigin.dart b/lib/widget/sharePositionOrigin.dart new file mode 100644 index 0000000..af07c71 --- /dev/null +++ b/lib/widget/sharePositionOrigin.dart @@ -0,0 +1,7 @@ +import 'package:flutter/material.dart'; + +class SharePositionOrigin { + static Rect get(BuildContext context) { + return Rect.fromLTWH(0, 0, MediaQuery.of(context).size.width, MediaQuery.of(context).size.height / 2); + } +} \ No newline at end of file