Closes #1050

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-08-20 22:04:39 +08:00
parent e096ebcbba
commit 76f1d0129b
171 changed files with 2190 additions and 2063 deletions

View File

@@ -30,6 +30,8 @@ abstract class CommonDynPageState<T extends CommonDynPage> extends State<T>
dynamic get arguments;
late EdgeInsets padding;
@override
void didChangeDependencies() {
super.didChangeDependencies();
@@ -44,6 +46,7 @@ abstract class CommonDynPageState<T extends CommonDynPage> extends State<T>
);
}
: null;
padding = MediaQuery.viewPaddingOf(context);
}
Widget buildReplyHeader(ThemeData theme) {
@@ -109,9 +112,7 @@ abstract class CommonDynPageState<T extends CommonDynPage> extends State<T>
controller.onLoadMore();
return Container(
alignment: Alignment.center,
margin: EdgeInsets.only(
bottom: MediaQuery.paddingOf(context).bottom,
),
margin: EdgeInsets.only(bottom: padding.bottom),
height: 125,
child: Text(
controller.isEnd ? '没有更多了' : '加载中...',
@@ -163,6 +164,7 @@ abstract class CommonDynPageState<T extends CommonDynPage> extends State<T>
int oid = replyItem.oid.toInt();
int rpid = replyItem.id.toInt();
Widget replyReplyPage({bool showBackBtn = true}) => Scaffold(
resizeToAvoidBottomInset: false,
appBar: AppBar(
toolbarHeight: showBackBtn ? null : 45,
title: const Text('评论详情'),
@@ -178,9 +180,8 @@ abstract class CommonDynPageState<T extends CommonDynPage> extends State<T>
),
],
),
body: SafeArea(
top: false,
bottom: false,
body: Padding(
padding: EdgeInsets.only(right: padding.right),
child: VideoReplyReplyPanel(
enableSlide: false,
id: id,

View File

@@ -1,5 +1,6 @@
import 'package:PiliPlus/common/widgets/appbar/appbar.dart';
import 'package:PiliPlus/common/widgets/loading_widget/http_error.dart';
import 'package:PiliPlus/common/widgets/view_sliver_safe_area.dart';
import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/pages/common/multi_select/base.dart';
import 'package:PiliPlus/pages/common/search/common_search_controller.dart';
@@ -39,23 +40,15 @@ abstract class CommonSearchPageState<S extends CommonSearchPage, R, T>
Widget _build(bool multiSelect) {
return Scaffold(
resizeToAvoidBottomInset: false,
appBar: _buildBar(multiSelect),
body: SafeArea(
top: false,
bottom: false,
child: CustomScrollView(
physics: const AlwaysScrollableScrollPhysics(),
controller: controller.scrollController,
slivers: [
SliverPadding(
padding: EdgeInsets.only(
bottom: MediaQuery.paddingOf(context).bottom + 80,
),
sliver: Obx(() => _buildBody(controller.loadingState.value)),
),
],
),
body: CustomScrollView(
physics: const AlwaysScrollableScrollPhysics(),
controller: controller.scrollController,
slivers: [
ViewSliverSafeArea(
sliver: Obx(() => _buildBody(controller.loadingState.value)),
),
],
),
);
}