From bae395c5d063cd349ed507c17463f467004602d9 Mon Sep 17 00:00:00 2001 From: bggRGjQaUbCoE Date: Mon, 25 Nov 2024 17:45:03 +0800 Subject: [PATCH] fix: add reply Signed-off-by: bggRGjQaUbCoE --- lib/pages/common/reply_controller.dart | 5 ++++- lib/pages/dynamics/detail/view.dart | 6 +++++- lib/pages/html/view.dart | 1 + lib/pages/video/detail/reply/view.dart | 6 +++++- lib/pages/video/detail/reply_reply/view.dart | 2 +- lib/utils/utils.dart | 4 ++-- 6 files changed, 18 insertions(+), 6 deletions(-) diff --git a/lib/pages/common/reply_controller.dart b/lib/pages/common/reply_controller.dart index da652662e..6745ebebc 100644 --- a/lib/pages/common/reply_controller.dart +++ b/lib/pages/common/reply_controller.dart @@ -121,6 +121,7 @@ abstract class ReplyController extends CommonController { dynamic oid, dynamic replyItem, int index = 0, + ReplyType? replyType, }) { dynamic key = oid ?? replyItem.oid + replyItem.id; Navigator.of(context) @@ -131,7 +132,9 @@ abstract class ReplyController extends CommonController { oid: oid ?? replyItem.oid.toInt(), root: oid != null ? 0 : replyItem.id.toInt(), parent: oid != null ? 0 : replyItem.id.toInt(), - replyType: ReplyType.video, + replyType: replyItem != null + ? ReplyType.values[replyItem.type.toInt()] + : replyType, replyItem: replyItem, savedReply: savedReplies[key], onSaveReply: (reply) { diff --git a/lib/pages/dynamics/detail/view.dart b/lib/pages/dynamics/detail/view.dart index 77a99f198..97948385f 100644 --- a/lib/pages/dynamics/detail/view.dart +++ b/lib/pages/dynamics/detail/view.dart @@ -301,7 +301,11 @@ class _DynamicDetailPageState extends State feedBack(); dynamic oid = _dynamicDetailController.oid ?? IdUtils.bv2av(Get.parameters['bvid']!); - _dynamicDetailController.onReply(context, oid: oid); + _dynamicDetailController.onReply( + context, + oid: oid, + replyType: ReplyType.values[replyType], + ); }, tooltip: '评论动态', child: const Icon(Icons.reply), diff --git a/lib/pages/html/view.dart b/lib/pages/html/view.dart index 838a9635c..eeea6d4ce 100644 --- a/lib/pages/html/view.dart +++ b/lib/pages/html/view.dart @@ -307,6 +307,7 @@ class _HtmlRenderPageState extends State _htmlRenderCtr.onReply( context, oid: _htmlRenderCtr.oid.value, + replyType: ReplyType.values[type], ); }, tooltip: '评论动态', diff --git a/lib/pages/video/detail/reply/view.dart b/lib/pages/video/detail/reply/view.dart index 365bcf22d..fb85abdbb 100644 --- a/lib/pages/video/detail/reply/view.dart +++ b/lib/pages/video/detail/reply/view.dart @@ -187,7 +187,11 @@ class _VideoReplyPanelState extends State feedBack(); dynamic oid = _videoReplyController.aid ?? IdUtils.bv2av(Get.parameters['bvid']!); - _videoReplyController.onReply(context, oid: oid); + _videoReplyController.onReply( + context, + oid: oid, + replyType: ReplyType.video, + ); }, tooltip: '发表评论', child: const Icon(Icons.reply), diff --git a/lib/pages/video/detail/reply_reply/view.dart b/lib/pages/video/detail/reply_reply/view.dart index 89dbc76a4..53ba8d6be 100644 --- a/lib/pages/video/detail/reply_reply/view.dart +++ b/lib/pages/video/detail/reply_reply/view.dart @@ -251,7 +251,7 @@ class _VideoReplyReplyPanelState extends State { oid: oid, root: root, parent: parent, - replyType: ReplyType.video, + replyType: widget.replyType, replyItem: item, savedReply: _savedReplies[key], onSaveReply: (reply) { diff --git a/lib/utils/utils.dart b/lib/utils/utils.dart index 98f998092..09234c81b 100644 --- a/lib/utils/utils.dart +++ b/lib/utils/utils.dart @@ -27,8 +27,8 @@ class Utils { static final Random random = Random(); static ReplyInfo replyCast(res) { - Map emote = res['content']['emote']; - emote.forEach((key, value) { + Map? emote = res['content']['emote']; + emote?.forEach((key, value) { value['size'] = value['meta']['size']; }); return ReplyInfo.create()