mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
feat: later page: multi select
feat: fav detail page: multi select opt: reply item opt: load more Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -3,7 +3,6 @@ import 'package:PiliPalaX/common/widgets/http_error.dart';
|
||||
import 'package:PiliPalaX/http/loading_state.dart';
|
||||
import 'package:PiliPalaX/pages/video/detail/reply/widgets/reply_item_grpc.dart';
|
||||
import 'package:PiliPalaX/utils/extension.dart';
|
||||
import 'package:easy_debounce/easy_throttle.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/rendering.dart';
|
||||
import 'package:get/get.dart';
|
||||
@@ -211,10 +210,7 @@ class _VideoReplyPanelState extends State<VideoReplyPanel>
|
||||
(BuildContext context, index) {
|
||||
double bottom = MediaQuery.of(context).padding.bottom;
|
||||
if (index == loadingState.response.replies.length) {
|
||||
EasyThrottle.throttle(
|
||||
'replylist', const Duration(milliseconds: 200), () {
|
||||
_videoReplyController.onLoadMore();
|
||||
});
|
||||
_videoReplyController.onLoadMore();
|
||||
return Container(
|
||||
alignment: Alignment.center,
|
||||
padding: EdgeInsets.only(bottom: bottom),
|
||||
|
||||
@@ -770,20 +770,6 @@ class ReplyItemGrpc extends StatelessWidget {
|
||||
: null,
|
||||
),
|
||||
);
|
||||
} else if (matchStr.startsWith('https://b23.tv/')) {
|
||||
spanChildren.add(
|
||||
TextSpan(
|
||||
text: ' $matchStr ',
|
||||
style: TextStyle(
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
),
|
||||
recognizer: TapGestureRecognizer()
|
||||
..onTap = () => Get.toNamed(
|
||||
'/webviewnew',
|
||||
parameters: {'url': matchStr},
|
||||
),
|
||||
),
|
||||
);
|
||||
} else {
|
||||
String appUrlSchema = '';
|
||||
final bool enableWordRe = GStorage.setting
|
||||
@@ -921,6 +907,20 @@ class ReplyItemGrpc extends StatelessWidget {
|
||||
},
|
||||
),
|
||||
);
|
||||
} else if (matchStr.startsWith('https://b23.tv/')) {
|
||||
spanChildren.add(
|
||||
TextSpan(
|
||||
text: ' $matchStr ',
|
||||
style: TextStyle(
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
),
|
||||
recognizer: TapGestureRecognizer()
|
||||
..onTap = () => Get.toNamed(
|
||||
'/webviewnew',
|
||||
parameters: {'url': matchStr},
|
||||
),
|
||||
),
|
||||
);
|
||||
} else {
|
||||
addPlainTextSpan(matchStr);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ import 'package:PiliPalaX/pages/video/detail/reply/widgets/reply_item_grpc.dart'
|
||||
import 'package:PiliPalaX/pages/video/detail/reply_new/reply_page.dart';
|
||||
import 'package:PiliPalaX/utils/extension.dart';
|
||||
import 'package:PiliPalaX/utils/utils.dart';
|
||||
import 'package:easy_debounce/easy_throttle.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:PiliPalaX/common/skeleton/video_reply.dart';
|
||||
@@ -313,10 +312,7 @@ class _VideoReplyReplyPanelState extends State<VideoReplyReplyPanel> {
|
||||
),
|
||||
Success() => () {
|
||||
if (index == loadingState.response.length) {
|
||||
EasyThrottle.throttle(
|
||||
'replylist', const Duration(milliseconds: 200), () {
|
||||
_videoReplyReplyController.onLoadMore();
|
||||
});
|
||||
_videoReplyReplyController.onLoadMore();
|
||||
return Container(
|
||||
alignment: Alignment.center,
|
||||
padding: EdgeInsets.only(
|
||||
|
||||
@@ -16,6 +16,7 @@ import 'package:PiliPalaX/pages/video/detail/widgets/ai_detail.dart';
|
||||
import 'package:PiliPalaX/utils/extension.dart';
|
||||
import 'package:PiliPalaX/utils/id_utils.dart';
|
||||
import 'package:auto_orientation/auto_orientation.dart';
|
||||
import 'package:easy_debounce/easy_throttle.dart';
|
||||
import 'package:floating/floating.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
|
||||
@@ -1312,18 +1313,20 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
||||
|
||||
// 展示二级回复
|
||||
void replyReply(replyItem, id, isTop) {
|
||||
videoDetailController.childKey.currentState?.showBottomSheet(
|
||||
(context) => VideoReplyReplyPanel(
|
||||
id: id,
|
||||
// rcount: replyItem.rcount,
|
||||
oid: replyItem.oid.toInt(),
|
||||
rpid: replyItem.id.toInt(),
|
||||
firstFloor: replyItem,
|
||||
replyType: ReplyType.video,
|
||||
source: 'videoDetail',
|
||||
isTop: isTop,
|
||||
),
|
||||
);
|
||||
EasyThrottle.throttle('replyReply', const Duration(milliseconds: 500), () {
|
||||
videoDetailController.childKey.currentState?.showBottomSheet(
|
||||
(context) => VideoReplyReplyPanel(
|
||||
id: id,
|
||||
// rcount: replyItem.rcount,
|
||||
oid: replyItem.oid.toInt(),
|
||||
rpid: replyItem.id.toInt(),
|
||||
firstFloor: replyItem,
|
||||
replyType: ReplyType.video,
|
||||
source: 'videoDetail',
|
||||
isTop: isTop,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
// ai总结
|
||||
|
||||
Reference in New Issue
Block a user