@@ -3,10 +3,27 @@ import 'package:flutter/foundation.dart';
3
3
import 'package:flutter_quill/flutter_quill.dart' ;
4
4
import 'package:flutter_quill_extensions/flutter_quill_extensions.dart' ;
5
5
import 'package:responsive_framework/responsive_framework.dart' ;
6
- import 'package:youtube_player_flutter/youtube_player_flutter.dart' ;
7
6
import 'package:universal_html/html.dart' as html;
8
7
9
- import 'dart:ui_web' as ui_web;
8
+ import 'mobile_platform_registry.dart' if (dart.library.html) 'web_platform_registry.dart' as ui_instance;
9
+
10
+ /// https://github.com/flutter/flutter/issues/41563#issuecomment-547923478
11
+ ///
12
+ /// https://stackoverflow.com/questions/67732006/condition-import-of-dartio-or-darthtml
13
+ class PlatformViewRegistryFix {
14
+ void registerViewFactory (String imageURL, dynamic cbFnc) {
15
+ if (kIsWeb) {
16
+ ui_instance.PlatformViewRegistry .registerViewFactory (
17
+ imageURL,
18
+ cbFnc,
19
+ );
20
+ }
21
+ }
22
+ }
23
+
24
+ class ImageUniversalUI {
25
+ PlatformViewRegistryFix platformViewRegistry = PlatformViewRegistryFix ();
26
+ }
10
27
11
28
class ImageEmbedBuilderWeb extends EmbedBuilder {
12
29
@override
@@ -27,7 +44,7 @@ class ImageEmbedBuilderWeb extends EmbedBuilder {
27
44
return const SizedBox ();
28
45
}
29
46
final size = MediaQuery .of (context).size;
30
- ui_web .platformViewRegistry.registerViewFactory (imageUrl, (viewId) {
47
+ ImageUniversalUI () .platformViewRegistry.registerViewFactory (imageUrl, (viewId) {
31
48
return html.ImageElement ()
32
49
..src = imageUrl
33
50
..style.height = 'auto'
0 commit comments