From e28a916abb69ab4f2e0a80c2757df54de2bce894 Mon Sep 17 00:00:00 2001 From: Ellet Date: Mon, 13 Nov 2023 23:05:55 +0300 Subject: [PATCH] Fix quill provider bug --- .../embeds/editor/image/image.dart | 19 +++++++++++-------- .../embeds/editor/image/image_menu.dart | 6 +++++- .../presentation/embeds/widgets/image.dart | 7 +++---- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/flutter_quill_extensions/lib/presentation/embeds/editor/image/image.dart b/flutter_quill_extensions/lib/presentation/embeds/editor/image/image.dart index 4689097f..b3515dbd 100644 --- a/flutter_quill_extensions/lib/presentation/embeds/editor/image/image.dart +++ b/flutter_quill_extensions/lib/presentation/embeds/editor/image/image.dart @@ -117,14 +117,17 @@ class QuillEditorImageEmbedBuilder extends EmbedBuilder { onTap: configurations.onImageClicked ?? () => showDialog( context: context, - builder: (context) { - return ImageOptionsMenu( - controller: controller, - configurations: configurations, - imageSource: imageSource, - imageSize: imageSize, - isReadOnly: readOnly, - imageSaverService: imageSaverService, + builder: (_) { + return QuillProvider.value( + value: context.requireQuillProvider, + child: ImageOptionsMenu( + controller: controller, + configurations: configurations, + imageSource: imageSource, + imageSize: imageSize, + isReadOnly: readOnly, + imageSaverService: imageSaverService, + ), ); }, ), diff --git a/flutter_quill_extensions/lib/presentation/embeds/editor/image/image_menu.dart b/flutter_quill_extensions/lib/presentation/embeds/editor/image/image_menu.dart index 50cc1ad8..c5bd3daf 100644 --- a/flutter_quill_extensions/lib/presentation/embeds/editor/image/image_menu.dart +++ b/flutter_quill_extensions/lib/presentation/embeds/editor/image/image_menu.dart @@ -6,6 +6,7 @@ import 'package:flutter_quill/flutter_quill.dart' show ImageUrl, QuillController, StyleAttribute, getEmbedNode; import 'package:flutter_quill/translations.dart'; +import '../../../../logic/models/config/shared_configurations.dart'; import '../../../../logic/services/image_saver/s_image_saver.dart'; import '../../../models/config/editor/image/image.dart'; import '../../../utils/utils.dart'; @@ -178,7 +179,10 @@ class ImageOptionsMenu extends StatelessWidget { onTap: () => Navigator.pushReplacement( context, MaterialPageRoute( - builder: (context) => ImageTapWrapper( + builder: (_) => ImageTapWrapper( + assetsPrefix: QuillSharedExtensionsConfigurations.get( + context: context) + .assetsPrefix, imageUrl: imageSource, configurations: configurations, ), diff --git a/flutter_quill_extensions/lib/presentation/embeds/widgets/image.dart b/flutter_quill_extensions/lib/presentation/embeds/widgets/image.dart index d377205b..70a7b0cb 100644 --- a/flutter_quill_extensions/lib/presentation/embeds/widgets/image.dart +++ b/flutter_quill_extensions/lib/presentation/embeds/widgets/image.dart @@ -5,7 +5,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_quill/flutter_quill.dart'; import 'package:photo_view/photo_view.dart'; -import '../../../logic/models/config/shared_configurations.dart'; import '../../models/config/editor/image/image.dart'; import '../../utils/utils.dart'; import '../embed_types/image.dart'; @@ -109,11 +108,13 @@ class ImageTapWrapper extends StatelessWidget { const ImageTapWrapper({ required this.imageUrl, required this.configurations, + required this.assetsPrefix, super.key, }); final String imageUrl; final QuillEditorImageEmbedConfigurations configurations; + final String assetsPrefix; @override Widget build(BuildContext context) { @@ -128,9 +129,7 @@ class ImageTapWrapper extends StatelessWidget { imageProvider: getImageProviderByImageSource( imageUrl, imageProviderBuilder: configurations.imageProviderBuilder, - assetsPrefix: - QuillSharedExtensionsConfigurations.get(context: context) - .assetsPrefix, + assetsPrefix: assetsPrefix, ), errorBuilder: configurations.imageErrorWidgetBuilder, loadingBuilder: (context, event) {