refactor: Improved share / forward dialog

This commit is contained in:
krille-chan 2024-12-01 10:41:13 +01:00
commit 88e63d127a
No known key found for this signature in database
9 changed files with 488 additions and 361 deletions

View file

@ -1,11 +1,11 @@
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
import 'package:fluffychat/pages/image_viewer/image_viewer_view.dart';
import 'package:fluffychat/utils/platform_infos.dart';
import 'package:fluffychat/widgets/matrix.dart';
import 'package:fluffychat/utils/show_scaffold_dialog.dart';
import 'package:fluffychat/widgets/share_scaffold_dialog.dart';
import '../../utils/matrix_sdk_extensions/event_extension.dart';
class ImageViewer extends StatefulWidget {
@ -20,11 +20,12 @@ class ImageViewer extends StatefulWidget {
class ImageViewerController extends State<ImageViewer> {
/// Forward this image to another room.
void forwardAction() {
Matrix.of(widget.outerContext).shareContent = widget.event.content;
Navigator.of(context).pop();
widget.outerContext.go('/rooms');
}
void forwardAction() => showScaffoldDialog(
context: context,
builder: (context) => ShareScaffoldDialog(
items: [ContentShareItem(widget.event.content)],
),
);
/// Save this file with a system call.
void saveFileAction(BuildContext context) => widget.event.saveFile(context);