opt: trending page

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-04-18 14:57:44 +08:00
parent 1c4eb0766b
commit 8ca4f7c8d3

View File

@@ -1,3 +1,5 @@
import 'dart:math';
import 'package:PiliPlus/common/widgets/http_error.dart'; import 'package:PiliPlus/common/widgets/http_error.dart';
import 'package:PiliPlus/common/widgets/refresh_indicator.dart'; import 'package:PiliPlus/common/widgets/refresh_indicator.dart';
import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/http/loading_state.dart';
@@ -57,7 +59,12 @@ class _SearchTrendingPageState extends State<SearchTrendingPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final removePadding = context.width > 640; return LayoutBuilder(builder: (context, constraints) {
final width = constraints.maxWidth;
final maxWidth = constraints.maxWidth > constraints.maxHeight
? min(640.0, width * 0.6)
: width;
final removePadding = width > maxWidth;
return Scaffold( return Scaffold(
extendBody: true, extendBody: true,
extendBodyBehindAppBar: true, extendBodyBehindAppBar: true,
@@ -103,13 +110,13 @@ class _SearchTrendingPageState extends State<SearchTrendingPage> {
}, },
), ),
), ),
body: MediaQuery.removePadding( body: Center(
child: ConstrainedBox(
constraints: BoxConstraints(maxWidth: maxWidth),
child: MediaQuery.removePadding(
context: context, context: context,
removeLeft: removePadding, removeLeft: removePadding,
removeRight: removePadding, removeRight: removePadding,
child: Center(
child: ConstrainedBox(
constraints: BoxConstraints(maxWidth: 640),
child: refreshIndicator( child: refreshIndicator(
onRefresh: () async { onRefresh: () async {
await _controller.onRefresh(); await _controller.onRefresh();
@@ -140,6 +147,7 @@ class _SearchTrendingPageState extends State<SearchTrendingPage> {
), ),
), ),
); );
});
} }
Widget _buildBody(LoadingState<List<SearchKeywordList>?> loadingState) { Widget _buildBody(LoadingState<List<SearchKeywordList>?> loadingState) {