Added sharing option in fileViewer

This commit is contained in:
Elias Müller 2024-02-12 12:20:24 +01:00
parent 647c49e05e
commit 9411bfa2dd
4 changed files with 25 additions and 3 deletions

View File

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

View File

@ -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<ChatBubble> {
),
),
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(

View File

@ -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<FileViewer> {
),
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
],
);

View File

@ -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);
}
}