Skip to content

Commit 1119f8b

Browse files
authored
Merge pull request #1 from hungryemon/temp
Temp
2 parents 787c7a8 + 47a6e77 commit 1119f8b

File tree

5 files changed

+213
-207
lines changed

5 files changed

+213
-207
lines changed

flutter_quill_extensions/lib/embeds/builders.dart

Lines changed: 28 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ import '../shims/dart_ui_fake.dart'
1414
import 'utils.dart';
1515
import 'widgets/image.dart';
1616
import 'widgets/image_resizer.dart';
17-
import 'widgets/video_app.dart';
18-
import 'widgets/youtube_video_app.dart';
1917

2018
class ImageEmbedBuilder extends EmbedBuilder {
2119
@override
@@ -188,38 +186,38 @@ class ImageEmbedBuilderWeb extends EmbedBuilder {
188186
}
189187
}
190188

191-
class VideoEmbedBuilder extends EmbedBuilder {
192-
VideoEmbedBuilder({this.onVideoInit});
189+
// class VideoEmbedBuilder extends EmbedBuilder {
190+
// VideoEmbedBuilder({this.onVideoInit});
193191

194-
final void Function(GlobalKey videoContainerKey)? onVideoInit;
192+
// final void Function(GlobalKey videoContainerKey)? onVideoInit;
195193

196-
@override
197-
String get key => BlockEmbed.videoType;
194+
// @override
195+
// String get key => BlockEmbed.videoType;
198196

199-
@override
200-
Widget build(
201-
BuildContext context,
202-
QuillController controller,
203-
base.Embed node,
204-
bool readOnly,
205-
bool inline,
206-
TextStyle textStyle,
207-
) {
208-
assert(!kIsWeb, 'Please provide video EmbedBuilder for Web');
197+
// @override
198+
// Widget build(
199+
// BuildContext context,
200+
// QuillController controller,
201+
// base.Embed node,
202+
// bool readOnly,
203+
// bool inline,
204+
// TextStyle textStyle,
205+
// ) {
206+
// assert(!kIsWeb, 'Please provide video EmbedBuilder for Web');
209207

210-
final videoUrl = node.value.data;
211-
if (videoUrl.contains('youtube.com') || videoUrl.contains('youtu.be')) {
212-
return YoutubeVideoApp(
213-
videoUrl: videoUrl, context: context, readOnly: readOnly);
214-
}
215-
return VideoApp(
216-
videoUrl: videoUrl,
217-
context: context,
218-
readOnly: readOnly,
219-
onVideoInit: onVideoInit,
220-
);
221-
}
222-
}
208+
// final videoUrl = node.value.data;
209+
// if (videoUrl.contains('youtube.com') || videoUrl.contains('youtu.be')) {
210+
// return YoutubeVideoApp(
211+
// videoUrl: videoUrl, context: context, readOnly: readOnly);
212+
// }
213+
// return VideoApp(
214+
// videoUrl: videoUrl,
215+
// context: context,
216+
// readOnly: readOnly,
217+
// onVideoInit: onVideoInit,
218+
// );
219+
// }
220+
// }
223221

224222
class FormulaEmbedBuilder extends EmbedBuilder {
225223
@override
Lines changed: 102 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -1,111 +1,113 @@
1-
import 'dart:io';
1+
// import 'dart:io';
22

3-
import 'package:flutter/gestures.dart';
4-
import 'package:flutter/material.dart';
5-
import 'package:flutter_quill/flutter_quill.dart';
6-
import 'package:url_launcher/url_launcher.dart';
7-
import 'package:video_player/video_player.dart';
3+
// import 'package:flutter/gestures.dart';
4+
// import 'package:flutter/material.dart';
5+
// import 'package:flutter_quill/flutter_quill.dart';
6+
// import 'package:url_launcher/url_launcher.dart';
7+
// import 'package:video_player/video_player.dart';
88

9-
/// Widget for playing back video
10-
/// Refer to https://github.com/flutter/plugins/tree/master/packages/video_player/video_player
11-
class VideoApp extends StatefulWidget {
12-
const VideoApp({
13-
required this.videoUrl,
14-
required this.context,
15-
required this.readOnly,
16-
this.onVideoInit,
17-
});
9+
// /// Widget for playing back video
10+
// /// Refer to https://github.com/flutter/plugins/tree/master/packages/video_player/video_player
11+
// class VideoApp extends StatefulWidget {
12+
// const VideoApp({
13+
// required this.videoUrl,
14+
// required this.context,
15+
// required this.readOnly,
16+
// this.onVideoInit,
17+
// });
1818

19-
final String videoUrl;
20-
final BuildContext context;
21-
final bool readOnly;
22-
final void Function(GlobalKey videoContainerKey)? onVideoInit;
19+
// final String videoUrl;
20+
// final BuildContext context;
21+
// final bool readOnly;
22+
// final void Function(GlobalKey videoContainerKey)? onVideoInit;
2323

24-
@override
25-
_VideoAppState createState() => _VideoAppState();
26-
}
24+
// @override
25+
// _VideoAppState createState() => _VideoAppState();
26+
// }
2727

28-
class _VideoAppState extends State<VideoApp> {
29-
late VideoPlayerController _controller;
30-
GlobalKey videoContainerKey = GlobalKey();
28+
// class _VideoAppState extends State<VideoApp> {
29+
// late VideoPlayerController _controller;
30+
// GlobalKey videoContainerKey = GlobalKey();
3131

32-
@override
33-
void initState() {
34-
super.initState();
32+
// @override
33+
// void initState() {
34+
// super.initState();
3535

36-
_controller = widget.videoUrl.startsWith('http')
37-
? VideoPlayerController.networkUrl(Uri.parse(widget.videoUrl))
38-
: VideoPlayerController.file(File(widget.videoUrl))
39-
..initialize().then((_) {
40-
// Ensure the first frame is shown after the video is initialized,
41-
// even before the play button has been pressed.
42-
setState(() {});
43-
if (widget.onVideoInit != null) {
44-
widget.onVideoInit?.call(videoContainerKey);
45-
}
46-
}).catchError((error) {
47-
setState(() {});
48-
});
49-
}
5036

51-
@override
52-
Widget build(BuildContext context) {
53-
final defaultStyles = DefaultStyles.getInstance(context);
54-
if (_controller.value.hasError) {
55-
if (widget.readOnly) {
56-
return RichText(
57-
text: TextSpan(
58-
text: widget.videoUrl,
59-
style: defaultStyles.link,
60-
recognizer: TapGestureRecognizer()
61-
..onTap = () => launchUrl(Uri.parse(widget.videoUrl))),
62-
);
63-
}
37+
// _controller = widget.videoUrl.startsWith('http')
38+
// ? VideoPlayerController.network(widget.videoUrl)
39+
// : VideoPlayerController.file(File(widget.videoUrl))
40+
// ..initialize().then((_) {
41+
// // Ensure the first frame is shown after the video is initialized,
42+
// // even before the play button has been pressed.
43+
// setState(() {});
44+
// if (widget.onVideoInit != null) {
45+
// widget.onVideoInit?.call(videoContainerKey);
46+
// }
47+
// }).catchError((error) {
48+
// setState(() {});
49+
// });
50+
// }
6451

65-
return RichText(
66-
text: TextSpan(text: widget.videoUrl, style: defaultStyles.link));
67-
} else if (!_controller.value.isInitialized) {
68-
return VideoProgressIndicator(
69-
_controller,
70-
allowScrubbing: true,
71-
colors: const VideoProgressColors(playedColor: Colors.blue),
72-
);
73-
}
7452

75-
return Container(
76-
key: videoContainerKey,
77-
// height: 300,
78-
child: InkWell(
79-
onTap: () {
80-
setState(() {
81-
_controller.value.isPlaying
82-
? _controller.pause()
83-
: _controller.play();
84-
});
85-
},
86-
child: Stack(alignment: Alignment.center, children: [
87-
Center(
88-
child: AspectRatio(
89-
aspectRatio: _controller.value.aspectRatio,
90-
child: VideoPlayer(_controller),
91-
)),
92-
_controller.value.isPlaying
93-
? const SizedBox.shrink()
94-
: Container(
95-
color: const Color(0xfff5f5f5),
96-
child: const Icon(
97-
Icons.play_arrow,
98-
size: 60,
99-
color: Colors.blueGrey,
100-
))
101-
]),
102-
),
103-
);
104-
}
53+
// @override
54+
// Widget build(BuildContext context) {
55+
// final defaultStyles = DefaultStyles.getInstance(context);
56+
// if (_controller.value.hasError) {
57+
// if (widget.readOnly) {
58+
// return RichText(
59+
// text: TextSpan(
60+
// text: widget.videoUrl,
61+
// style: defaultStyles.link,
62+
// recognizer: TapGestureRecognizer()
63+
// ..onTap = () => launchUrl(Uri.parse(widget.videoUrl))),
64+
// );
65+
// }
10566

106-
@override
107-
void dispose() {
108-
super.dispose();
109-
_controller.dispose();
110-
}
111-
}
67+
// return RichText(
68+
// text: TextSpan(text: widget.videoUrl, style: defaultStyles.link));
69+
// } else if (!_controller.value.isInitialized) {
70+
// return VideoProgressIndicator(
71+
// _controller,
72+
// allowScrubbing: true,
73+
// colors: const VideoProgressColors(playedColor: Colors.blue),
74+
// );
75+
// }
76+
77+
// return Container(
78+
// key: videoContainerKey,
79+
// // height: 300,
80+
// child: InkWell(
81+
// onTap: () {
82+
// setState(() {
83+
// _controller.value.isPlaying
84+
// ? _controller.pause()
85+
// : _controller.play();
86+
// });
87+
// },
88+
// child: Stack(alignment: Alignment.center, children: [
89+
// Center(
90+
// child: AspectRatio(
91+
// aspectRatio: _controller.value.aspectRatio,
92+
// child: VideoPlayer(_controller),
93+
// )),
94+
// _controller.value.isPlaying
95+
// ? const SizedBox.shrink()
96+
// : Container(
97+
// color: const Color(0xfff5f5f5),
98+
// child: const Icon(
99+
// Icons.play_arrow,
100+
// size: 60,
101+
// color: Colors.blueGrey,
102+
// ))
103+
// ]),
104+
// ),
105+
// );
106+
// }
107+
108+
// @override
109+
// void dispose() {
110+
// super.dispose();
111+
// _controller.dispose();
112+
// }
113+
// }

0 commit comments

Comments
 (0)