From a12223b42b73ba5edf80e66b040a96672e208d45 Mon Sep 17 00:00:00 2001 From: dom Date: Wed, 15 Jul 2026 09:49:14 +0800 Subject: [PATCH] opt opus Signed-off-by: dom --- lib/pages/article/widgets/opus_content.dart | 41 ++++++++++++++++----- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/lib/pages/article/widgets/opus_content.dart b/lib/pages/article/widgets/opus_content.dart index e2e710242..44c16aea5 100644 --- a/lib/pages/article/widgets/opus_content.dart +++ b/lib/pages/article/widgets/opus_content.dart @@ -1,6 +1,7 @@ import 'dart:math' as math; import 'package:PiliPlus/common/assets.dart'; +import 'package:PiliPlus/common/widgets/dialog/simple_dialog_option.dart'; import 'package:PiliPlus/common/widgets/gesture/tap_gesture_recognizer.dart'; import 'package:PiliPlus/common/widgets/image/cached_network_svg_image.dart'; import 'package:PiliPlus/common/widgets/image/network_img_layer.dart'; @@ -231,7 +232,7 @@ class OpusContent extends StatelessWidget { ); if (!(pic.isLongPic ?? false)) { child = fromHero( - tag: pic.url!, + tag: '${pic.url!}$hashCode', child: child, ); } @@ -241,6 +242,7 @@ class OpusContent extends StatelessWidget { imgList: images, initialPage: images.indexWhere((e) => e.url == pic.url), quality: 60, + tag: hashCode.toString(), ), child: child, ); @@ -598,15 +600,34 @@ class OpusContent extends StatelessWidget { return; } if (type == 'LINK_CARD_TYPE_ITEM_NULL') { - switch (card.itemNull?.text) { - case '视频': - PiliScheme.videoPush( - int.parse(card.oid!), - null, - ); - default: - PageUtils.pushDynFromId(id: card.oid!); - } + showDialog( + context: context, + builder: (context) => SimpleDialog( + clipBehavior: .hardEdge, + contentPadding: const .symmetric( + vertical: 12, + ), + children: [ + DialogOption( + onPressed: () { + Get.back(); + PiliScheme.videoPush( + int.parse(card.oid!), + null, + ); + }, + child: const Text('视频'), + ), + DialogOption( + onPressed: () { + Get.back(); + PageUtils.pushDynFromId(id: card.oid!); + }, + child: const Text('动态/专栏'), + ), + ], + ), + ); return; } final url = switch (type) {