diff --git a/lib/models/video/reply/item.dart b/lib/models/video/reply/item.dart index f699536c2..52f382a26 100644 --- a/lib/models/video/reply/item.dart +++ b/lib/models/video/reply/item.dart @@ -31,6 +31,7 @@ class ReplyItemModel { this.isUp, this.isTop, this.cardLabel, + this.rcount, }); int? rpid; @@ -61,6 +62,7 @@ class ReplyItemModel { bool? isUp; bool? isTop = false; List? cardLabel; + dynamic rcount; ReplyItemModel.fromJson(Map json, upperMid, {isTopStatus = false}) { @@ -99,6 +101,7 @@ class ReplyItemModel { cardLabel = json['card_label'] != null ? json['card_label'].map((e) => e['text_content']).toList() : []; + rcount = json['rcount']; } } diff --git a/lib/pages/dynamics/detail/view.dart b/lib/pages/dynamics/detail/view.dart index c21250301..793517ec6 100644 --- a/lib/pages/dynamics/detail/view.dart +++ b/lib/pages/dynamics/detail/view.dart @@ -117,7 +117,7 @@ class _DynamicDetailPageState extends State titleSpacing: 0, centerTitle: false, title: Text( - '评论详情', + '评论详情${replyItem.rcount > 0 ? '(${replyItem.rcount})' : ''}', style: Theme.of(context).textTheme.titleMedium, ), ), @@ -425,7 +425,7 @@ class _DynamicDetailPageState extends State _dynamicDetailController.replyList[index], showReplyRow: true, replyLevel: '1', - replyReply: (replyItem) => replyReply(replyItem), + replyReply: replyReply, replyType: ReplyType.values[replyType], addReply: (replyItem) { _dynamicDetailController diff --git a/lib/pages/video/detail/controller.dart b/lib/pages/video/detail/controller.dart index 73bfdc098..a8e909d16 100644 --- a/lib/pages/video/detail/controller.dart +++ b/lib/pages/video/detail/controller.dart @@ -153,13 +153,14 @@ class VideoDetailController extends GetxController oid.value = IdUtils.bv2av(Get.parameters['bvid']!); } - showReplyReplyPanel() { + showReplyReplyPanel(dynamic rcount) { replyReplyBottomSheetCtr = scaffoldKey.currentState?.showBottomSheet((BuildContext context) { // SmartDialog.show( // alignment: Alignment.bottomRight, // builder: (context) { return VideoReplyReplyPanel( + rcount: rcount, oid: oid.value, rpid: fRpid, closePanel: () => { diff --git a/lib/pages/video/detail/reply/view.dart b/lib/pages/video/detail/reply/view.dart index 3eaaca06a..2d39a9fd2 100644 --- a/lib/pages/video/detail/reply/view.dart +++ b/lib/pages/video/detail/reply/view.dart @@ -127,7 +127,7 @@ class _VideoReplyPanelState extends State videoDetailCtr.oid.value = replyItem.oid; videoDetailCtr.fRpid = replyItem.rpid!; videoDetailCtr.firstFloor = replyItem; - videoDetailCtr.showReplyReplyPanel(); + videoDetailCtr.showReplyReplyPanel(replyItem.rcount); } } diff --git a/lib/pages/video/detail/reply_reply/view.dart b/lib/pages/video/detail/reply_reply/view.dart index eaefb16ff..d4d8f16a5 100644 --- a/lib/pages/video/detail/reply_reply/view.dart +++ b/lib/pages/video/detail/reply_reply/view.dart @@ -14,6 +14,7 @@ import 'controller.dart'; class VideoReplyReplyPanel extends StatefulWidget { const VideoReplyReplyPanel({ + this.rcount, this.oid, this.rpid, this.closePanel, @@ -22,6 +23,7 @@ class VideoReplyReplyPanel extends StatefulWidget { this.replyType, super.key, }); + final dynamic rcount; final int? oid; final int? rpid; final Function? closePanel; @@ -88,7 +90,7 @@ class _VideoReplyReplyPanelState extends State { child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - const Text('评论详情'), + Text('评论详情${widget.rcount > 0 ? '(${widget.rcount})' : ''}'), IconButton( tooltip: '关闭', icon: const Icon(Icons.close, size: 20),