Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

close #169 migrate flutter quill to 6.0.5 [BREAK] #170

Merged
merged 1 commit into from
Sep 27, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ PODS:
- Firebase/Firestore (= 9.3.0)
- firebase_core
- Flutter
- connectivity_plus (0.0.1):
- Flutter
- ReachabilitySwift
- device_info_plus (0.0.1):
- Flutter
- facebook_app_events (0.0.1):
Expand Down Expand Up @@ -242,11 +245,14 @@ PODS:
- OrderedSet (5.0.0)
- package_info_plus (0.4.5):
- Flutter
- pasteboard (0.0.1):
- Flutter
- path_provider_ios (0.0.1):
- Flutter
- PromisesObjC (2.1.1)
- quick_actions_ios (0.0.1):
- Flutter
- ReachabilitySwift (5.0.0)
- shared_preferences_ios (0.0.1):
- Flutter
- sign_in_with_apple (0.0.1):
Expand All @@ -266,6 +272,7 @@ DEPENDENCIES:
- audio_session (from `.symlinks/plugins/audio_session/ios`)
- awesome_notifications (from `.symlinks/plugins/awesome_notifications/ios`)
- cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`)
- connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`)
- device_info_plus (from `.symlinks/plugins/device_info_plus/ios`)
- facebook_app_events (from `.symlinks/plugins/facebook_app_events/ios`)
- firebase_analytics (from `.symlinks/plugins/firebase_analytics/ios`)
Expand All @@ -292,6 +299,7 @@ DEPENDENCIES:
- local_auth_ios (from `.symlinks/plugins/local_auth_ios/ios`)
- objectbox_flutter_libs (from `.symlinks/plugins/objectbox_flutter_libs/ios`)
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
- pasteboard (from `.symlinks/plugins/pasteboard/ios`)
- path_provider_ios (from `.symlinks/plugins/path_provider_ios/ios`)
- quick_actions_ios (from `.symlinks/plugins/quick_actions_ios/ios`)
- shared_preferences_ios (from `.symlinks/plugins/shared_preferences_ios/ios`)
Expand Down Expand Up @@ -332,6 +340,7 @@ SPEC REPOS:
- ObjectBox
- OrderedSet
- PromisesObjC
- ReachabilitySwift
- Toast
- TOCropViewController

Expand All @@ -344,6 +353,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/awesome_notifications/ios"
cloud_firestore:
:path: ".symlinks/plugins/cloud_firestore/ios"
connectivity_plus:
:path: ".symlinks/plugins/connectivity_plus/ios"
device_info_plus:
:path: ".symlinks/plugins/device_info_plus/ios"
facebook_app_events:
Expand Down Expand Up @@ -397,6 +408,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/objectbox_flutter_libs/ios"
package_info_plus:
:path: ".symlinks/plugins/package_info_plus/ios"
pasteboard:
:path: ".symlinks/plugins/pasteboard/ios"
path_provider_ios:
:path: ".symlinks/plugins/path_provider_ios/ios"
quick_actions_ios:
Expand All @@ -423,6 +436,7 @@ SPEC CHECKSUMS:
audio_session: 4f3e461722055d21515cf3261b64c973c062f345
awesome_notifications: 04530aafec8dac4635244ed4b4072f4aea6cc938
cloud_firestore: 08093e207dfb2e6c82a6b272def699e022548786
connectivity_plus: 413a8857dd5d9f1c399a39130850d02fe0feaf7e
device_info_plus: e5c5da33f982a436e103237c0c85f9031142abed
facebook_app_events: 62752eb33a4b0c6d3a6b62c724a83c6489b57aea
FBAEMKit: d00064597439e75885c70d9adbcb5f3e9ad84f5d
Expand Down Expand Up @@ -477,9 +491,11 @@ SPEC CHECKSUMS:
objectbox_flutter_libs: e414a78ffda0a6418a7b41359dda7b7cfc6cd8fe
OrderedSet: aaeb196f7fef5a9edf55d89760da9176ad40b93c
package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e
pasteboard: 982969ebaa7c78af3e6cc7761e8f5e77565d9ce0
path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02
PromisesObjC: ab77feca74fa2823e7af4249b8326368e61014cb
quick_actions_ios: 622e9076602c57f1f937f1c13e5c59c3379347e9
ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
shared_preferences_ios: 548a61f8053b9b8a49ac19c1ffbc8b92c50d68ad
sign_in_with_apple: f3bf75217ea4c2c8b91823f225d70230119b8440
sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904
Expand Down
2 changes: 1 addition & 1 deletion lib/utils/helpers/quill_helper.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import 'package:flutter_quill/src/models/documents/nodes/block.dart' as block;
import 'package:flutter_quill/src/models/documents/nodes/line.dart' as line;
import 'package:flutter_quill/src/models/documents/nodes/node.dart' as node;
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter_quill/src/widgets/embeds/image.dart';
import 'package:flutter_quill_extensions/flutter_quill_extensions.dart';
import 'dart:convert';

class QuillHelper {
Expand Down
34 changes: 6 additions & 28 deletions lib/views/content_reader/local_widgets/content_page_viewer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_quill/flutter_quill.dart' as editor;
import 'package:spooky/utils/constants/config_constant.dart';
import 'package:spooky/views/detail/local_widgets/quill_renderer/custom_element_embed.dart';
import 'package:spooky/views/detail/local_widgets/quill_renderer/quill_embed_renderer.dart';
import 'package:spooky/views/detail/quill_renderer/quill_custom_renderer.dart';
import 'package:spooky/views/detail/quill_renderer/quill_image_renderer.dart';

class ContentPageViewer extends StatefulWidget {
const ContentPageViewer({
Expand Down Expand Up @@ -62,32 +62,10 @@ class ContentPageViewerState extends State<ContentPageViewer> {
horizontal: ConfigConstant.margin2,
vertical: ConfigConstant.margin2 + 8.0,
),
customElementsEmbedBuilder: (
BuildContext context,
editor.QuillController controller,
editor.CustomBlockEmbed block,
bool readOnly,
void Function(GlobalKey videoContainerKey)? onVideoInit,
) {
return CustomElementEmbed(
controller: controller,
block: block,
readOnly: readOnly,
);
},
embedBuilder: (
BuildContext context,
editor.QuillController controller,
editor.Embed node,
bool readOnly,
void Function(GlobalKey videoContainerKey)? onVideoInit,
) {
return QuillEmbedRenderer(
controller: controller,
node: node,
readOnly: readOnly,
);
},
embedBuilders: [
QuillImageRenderer(),
QuillCustomRenderer(),
],
);
}
}
35 changes: 7 additions & 28 deletions lib/views/detail/local_widgets/detail_editor.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ import 'package:spooky/utils/constants/config_constant.dart';
import 'package:spooky/utils/helpers/app_helper.dart';
import 'package:spooky/utils/mixins/stateful_mixin.dart';
import 'package:spooky/views/detail/detail_view_model.dart';
import 'package:spooky/views/detail/local_widgets/quill_renderer/custom_element_embed.dart';
import 'package:spooky/views/detail/local_widgets/quill_renderer/quill_embed_renderer.dart';
import 'package:spooky/views/detail/quill_renderer/quill_custom_renderer.dart';

import '../quill_renderer/quill_image_renderer.dart';

class DetailEditor extends StatefulWidget {
const DetailEditor({
Expand Down Expand Up @@ -103,32 +104,10 @@ class _DetailEditorState extends State<DetailEditor> with StatefulMixin, Automat
top: ConfigConstant.margin2 + 8.0,
bottom: kToolbarHeight + MediaQuery.of(context).viewPadding.bottom + ConfigConstant.margin2,
),
customElementsEmbedBuilder: (
BuildContext context,
editor.QuillController controller,
editor.CustomBlockEmbed block,
bool readOnly,
void Function(GlobalKey videoContainerKey)? onVideoInit,
) {
return CustomElementEmbed(
controller: controller,
block: block,
readOnly: readOnly,
);
},
embedBuilder: (
BuildContext context,
editor.QuillController controller,
editor.Embed node,
bool readOnly,
void Function(GlobalKey videoContainerKey)? onVideoInit,
) {
return QuillEmbedRenderer(
controller: controller,
node: node,
readOnly: readOnly,
);
},
embedBuilders: [
QuillImageRenderer(),
QuillCustomRenderer(),
],
keyboardAppearance: M3Color.keyboardAppearance(context),
onLaunchUrl: (url) {
AppHelper.openLinkDialog(url);
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ import 'package:spooky/theme/m3/m3_color.dart';
import 'package:spooky/theme/m3/m3_text_theme.dart';
import 'package:spooky/utils/constants/config_constant.dart';
import 'package:spooky/utils/helpers/date_format_helper.dart';
import 'package:spooky/views/detail/local_widgets/quill_renderer/date_block_embed.dart';
import 'package:spooky/views/detail/quill_renderer_helper/date_block_embed.dart';
import 'package:spooky/widgets/sp_animated_icon.dart';

class DateBlockEmbedBuilder extends StatelessWidget {
const DateBlockEmbedBuilder({
class CustomDateBlockRenderer extends StatelessWidget {
const CustomDateBlockRenderer({
Key? key,
required this.block,
required this.readOnly,
Expand Down
26 changes: 26 additions & 0 deletions lib/views/detail/quill_renderer/quill_custom_renderer.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import 'package:flutter/material.dart';
import 'package:flutter_quill/flutter_quill.dart' as quill;
import 'package:spooky/views/detail/quill_renderer/custom_date_block_renderer.dart';
import 'package:spooky/views/detail/quill_renderer/quill_unsupported_renderer.dart';
import 'package:spooky/views/detail/quill_renderer_helper/date_block_embed.dart';

class QuillCustomRenderer extends quill.EmbedBuilder {
@override
String get key => quill.BlockEmbed.customType;

@override
Widget build(BuildContext context, quill.QuillController controller, quill.Embed node, bool readOnly) {
quill.Embeddable block = node.value;

switch (block.type) {
case DateBlockEmbed.blockType:
return CustomDateBlockRenderer(
block: block as quill.CustomBlockEmbed,
readOnly: readOnly,
controller: controller,
);
default:
return const QuillUnsupportedRenderer();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,34 @@ import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_quill/flutter_quill.dart' as quill;
import 'package:flutter_quill/src/widgets/embeds/image.dart';
import 'package:flutter_quill_extensions/flutter_quill_extensions.dart';
import 'package:spooky/core/services/messenger_service.dart';
import 'package:spooky/utils/constants/config_constant.dart';
import 'package:spooky/utils/helpers/app_helper.dart';
import 'package:spooky/utils/helpers/quill_helper.dart';
import 'package:spooky/utils/helpers/quill_image_size_helper.dart';
import 'package:spooky/views/detail/local_widgets/quill_renderer/image_resize_button.dart';
import 'package:spooky/views/detail/local_widgets/quill_renderer/image_zoom_view.dart';
import 'package:spooky/views/detail/local_widgets/quill_renderer/quill_unsupported_embed.dart';
import 'package:spooky/views/detail/quill_renderer_helper/image_resize_button.dart';
import 'package:spooky/views/detail/quill_renderer_helper/image_zoom_view.dart';
import 'package:spooky/views/detail/quill_renderer/quill_unsupported_renderer.dart';
import 'package:spooky/widgets/sp_cross_fade.dart';
import 'package:spooky/widgets/sp_tap_effect.dart';

class QuillImageRenderer extends StatelessWidget {
const QuillImageRenderer({
class QuillImageRenderer extends quill.EmbedBuilder {
@override
String get key => quill.BlockEmbed.imageType;

@override
Widget build(BuildContext context, quill.QuillController controller, quill.Embed node, bool readOnly) {
return _QuillImageRenderer(
node: node,
controller: controller,
readOnly: readOnly,
);
}
}

class _QuillImageRenderer extends StatelessWidget {
const _QuillImageRenderer({
Key? key,
required this.node,
required this.controller,
Expand Down Expand Up @@ -72,7 +86,7 @@ class QuillImageRenderer extends StatelessWidget {
okLabel: tr("button.ok"),
);
},
child: QuillUnsupportedEmbed(
child: QuillUnsupportedRenderer(
message: tr("msg.invalid_image_source"),
),
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ import 'package:flutter/material.dart';
import 'package:spooky/theme/m3/m3_color.dart';
import 'package:spooky/utils/constants/config_constant.dart';

class QuillUnsupportedEmbed extends StatelessWidget {
const QuillUnsupportedEmbed({
class QuillUnsupportedRenderer extends StatelessWidget {
const QuillUnsupportedRenderer({
Key? key,
this.message,
}) : super(key: key);
Expand Down
Loading