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:
bggRGjQaUbCoE
2024-11-28 20:53:52 +08:00
parent 665dd8b92a
commit 12818ae415
51 changed files with 988 additions and 759 deletions

View File

@@ -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),

View File

@@ -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);
}