From a252ee065507c747d80e76b15d43cbe44c7cb47e Mon Sep 17 00:00:00 2001 From: bggRGjQaUbCoE Date: Fri, 18 Apr 2025 10:31:01 +0800 Subject: [PATCH] opt: search trending page Closes #697 Signed-off-by: bggRGjQaUbCoE --- lib/pages/search_trending/view.dart | 47 ++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/lib/pages/search_trending/view.dart b/lib/pages/search_trending/view.dart index cea65f2e..ead3d11d 100644 --- a/lib/pages/search_trending/view.dart +++ b/lib/pages/search_trending/view.dart @@ -57,6 +57,7 @@ class _SearchTrendingPageState extends State { @override Widget build(BuildContext context) { + final removePadding = context.width > 640; return Scaffold( extendBody: true, extendBodyBehindAppBar: true, @@ -102,22 +103,40 @@ class _SearchTrendingPageState extends State { }, ), ), - body: refreshIndicator( - onRefresh: () async { - await _controller.onRefresh(); - }, - child: CustomScrollView( - controller: _controller.scrollController, - slivers: [ - SliverToBoxAdapter( - child: CachedNetworkImage( - fit: BoxFit.fitWidth, - imageUrl: - 'https://activity.hdslb.com/blackboard/activity59158/img/hot_banner.fbb081df.png', + body: MediaQuery.removePadding( + context: context, + removeLeft: removePadding, + removeRight: removePadding, + child: Center( + child: ConstrainedBox( + constraints: BoxConstraints(maxWidth: 640), + child: refreshIndicator( + onRefresh: () async { + await _controller.onRefresh(); + }, + child: CustomScrollView( + controller: _controller.scrollController, + slivers: [ + SliverToBoxAdapter( + child: CachedNetworkImage( + fit: BoxFit.fitWidth, + fadeInDuration: const Duration(milliseconds: 120), + fadeOutDuration: const Duration(milliseconds: 120), + imageUrl: + 'https://activity.hdslb.com/blackboard/activity59158/img/hot_banner.fbb081df.png', + placeholder: (context, url) { + return AspectRatio( + aspectRatio: 1125 / 528, + child: Image.asset('assets/images/loading.png'), + ); + }, + ), + ), + Obx(() => _buildBody(_controller.loadingState.value)), + ], ), ), - Obx(() => _buildBody(_controller.loadingState.value)), - ], + ), ), ), );