diff --git a/lib/pages/fav_detail/controller.dart b/lib/pages/fav_detail/controller.dart index 1495e39c..72eb6c41 100644 --- a/lib/pages/fav_detail/controller.dart +++ b/lib/pages/fav_detail/controller.dart @@ -158,6 +158,7 @@ class FavDetailController extends MultiSelectController { 'favTitle': item.value.title, 'count': item.value.mediaCount, 'desc': true, + 'isOwner': isOwner.value, }, ); break; diff --git a/lib/pages/fav_detail/widget/fav_video_card.dart b/lib/pages/fav_detail/widget/fav_video_card.dart index 831d7792..0e44a468 100644 --- a/lib/pages/fav_detail/widget/fav_video_card.dart +++ b/lib/pages/fav_detail/widget/fav_video_card.dart @@ -23,7 +23,7 @@ class FavVideoCardH extends StatelessWidget { final GestureTapCallback? onTap; final GestureLongPressCallback? onLongPress; final bool isOwner; - final VoidCallback? onViewFav; + final VoidCallback onViewFav; const FavVideoCardH({ super.key, @@ -33,7 +33,7 @@ class FavVideoCardH extends StatelessWidget { this.onTap, this.onLongPress, this.isOwner = false, - this.onViewFav, + required this.onViewFav, }); @override @@ -67,7 +67,7 @@ class FavVideoCardH extends StatelessWidget { Get.toNamed('/member?mid=${videoItem.owner?.mid}'); return; } - onViewFav!(); + onViewFav(); // Utils.toViewPage( // 'bvid=$bvid&cid=${videoItem.cid}${epId?.isNotEmpty == true ? '&epId=$epId' : ''}', // arguments: { diff --git a/lib/pages/video/detail/controller.dart b/lib/pages/video/detail/controller.dart index 2ad5711f..cc1ba7d0 100644 --- a/lib/pages/video/detail/controller.dart +++ b/lib/pages/video/detail/controller.dart @@ -415,7 +415,8 @@ class VideoDetailController extends GetxController getMediaList(isLoadPrevious: true); } : null, - onDelete: ['watchLater', 'fav'].contains(sourceType) + onDelete: sourceType == 'watchLater' || + (sourceType == 'fav' && Get.arguments?['isOwner'] == true) ? (index) async { if (sourceType == 'watchLater') { var res = await UserHttp.toViewDel( diff --git a/lib/pages/video/detail/widgets/media_list_panel.dart b/lib/pages/video/detail/widgets/media_list_panel.dart index 66646f4c..bc200b4c 100644 --- a/lib/pages/video/detail/widgets/media_list_panel.dart +++ b/lib/pages/video/detail/widgets/media_list_panel.dart @@ -121,6 +121,7 @@ class _MediaListPanelState extends CommonSlidePageState { widget.onDelete != null && widget.mediaList.length > 1; return ScrollablePositionedList.builder( itemScrollController: _scrollController, + physics: const AlwaysScrollableScrollPhysics(), itemCount: widget.mediaList.length, padding: EdgeInsets.only( bottom: MediaQuery.paddingOf(context).bottom + 80,