diff --git a/lib/pages/video/reply/view.dart b/lib/pages/video/reply/view.dart index 62c0ca960..61ee1fb3a 100644 --- a/lib/pages/video/reply/view.dart +++ b/lib/pages/video/reply/view.dart @@ -246,7 +246,7 @@ class _VideoReplyPanelState extends State id: id, oid: oid, rpid: rpid, - firstFloor: replyItem, + firstFloor: replyItem.replyControl.isNote ? null : replyItem, replyType: _videoReplyController.videoType.replyType, isVideoDetail: true, isNested: widget.isNested, diff --git a/lib/pages/video/reply/widgets/reply_item_grpc.dart b/lib/pages/video/reply/widgets/reply_item_grpc.dart index e4b1eac9f..cdb96b463 100644 --- a/lib/pages/video/reply/widgets/reply_item_grpc.dart +++ b/lib/pages/video/reply/widgets/reply_item_grpc.dart @@ -19,6 +19,7 @@ import 'package:PiliPlus/pages/save_panel/view.dart'; import 'package:PiliPlus/pages/video/controller.dart'; import 'package:PiliPlus/pages/video/reply/widgets/zan_grpc.dart'; import 'package:PiliPlus/utils/accounts.dart'; +import 'package:PiliPlus/utils/app_scheme.dart'; import 'package:PiliPlus/utils/date_utils.dart'; import 'package:PiliPlus/utils/duration_utils.dart'; import 'package:PiliPlus/utils/extension/context_ext.dart'; @@ -797,23 +798,33 @@ class ReplyItemGrpc extends StatelessWidget { } if (!hasNote && - (content.richText.hasNote() || - replyItem.replyControl.bizScene == 'note')) { + replyItem.replyControl.isNote && + replyItem.replyControl.isNoteV2) { + final Color color; + NoDeadlineTapGestureRecognizer? recognizer; + final hasClickUrl = content.richText.note.hasClickUrl(); + if (hasClickUrl || content.richText.opus.hasOpusId()) { + color = theme.colorScheme.primary; + recognizer = NoDeadlineTapGestureRecognizer() + ..onTap = () => hasClickUrl + ? PiliScheme.routePushFromUrl(content.richText.note.clickUrl) + : Get.toNamed( + '/articlePage', + parameters: { + 'id': content.richText.opus.opusId.toString(), + 'type': 'opus', + }, + ); + } else { + color = theme.colorScheme.secondary; + } spanChildren.insert( 0, TextSpan( text: '[笔记] ', - style: TextStyle( - color: hasClickUrl - ? theme.colorScheme.primary - : theme.colorScheme.secondary, - ), - recognizer: hasClickUrl - ? (NoDeadlineTapGestureRecognizer() - ..onTap = () => - PageUtils.handleWebview(content.richText.note.clickUrl)) - : null, + style: TextStyle(color: color), + recognizer: recognizer, ), ); }