From 8132957bf2779208686c7f51c43b3a8139428215 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9D=D0=B8=D0=BA=D0=B8=D1=82=D0=B0=20=D0=9F=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=D0=BF=D0=BE=D0=B2?= Date: Sat, 21 Dec 2024 14:35:04 +0400 Subject: [PATCH] =?UTF-8?q?refactor:=20=D1=83=D0=B1=D1=80=D0=B0=D0=BB=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BA=D0=BE=D0=BC=D0=B5=D0=BD=D1=82=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD=D1=8B=D0=B9=20=D0=BA=D0=BE=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/presentation/home_page/home_page.dart | 121 ++++++++++------------ 1 file changed, 52 insertions(+), 69 deletions(-) diff --git a/lib/presentation/home_page/home_page.dart b/lib/presentation/home_page/home_page.dart index c0801b4..631984f 100644 --- a/lib/presentation/home_page/home_page.dart +++ b/lib/presentation/home_page/home_page.dart @@ -62,10 +62,10 @@ class _BodyState extends State<_Body> { final bloc = context.read(); if (!bloc.state.isPaginationLoading) { bloc.add(HomeLoadDataEvent( - search: searchController.text, - pageNumber: bloc.state.data?.pageNumber, - nextPageNumber: bloc.state.data?.nextPageNumber, - lastPageNumber: bloc.state.data?.lastPageNumber + search: searchController.text, + pageNumber: bloc.state.data?.pageNumber, + nextPageNumber: bloc.state.data?.nextPageNumber, + lastPageNumber: bloc.state.data?.lastPageNumber )); } } @@ -81,7 +81,10 @@ class _BodyState extends State<_Body> { @override Widget build(BuildContext context) { return Padding( - padding: EdgeInsets.only(top: MediaQuery.of(context).padding.top), + padding: EdgeInsets.only(top: MediaQuery + .of(context) + .padding + .top), child: Column( children: [ Row( @@ -94,9 +97,10 @@ class _BodyState extends State<_Body> { controller: searchController, placeholder: context.locale.search, onChanged: (search) { - Debounce.run(() => context - .read() - .add(HomeLoadDataEvent(search: search))); + Debounce.run(() => + context + .read() + .add(HomeLoadDataEvent(search: search))); }, ), ), @@ -121,47 +125,50 @@ class _BodyState extends State<_Body> { ], ), BlocBuilder( - builder: (context, state) => state.error != null + builder: (context, state) => + state.error != null ? Text( - state.error ?? '', - style: Theme.of(context) - .textTheme - .headlineSmall - ?.copyWith(color: Colors.red), - ) + state.error ?? '', + style: Theme + .of(context) + .textTheme + .headlineSmall + ?.copyWith(color: Colors.red), + ) : state.isLoading - ? const CircularProgressIndicator() - : BlocBuilder( - builder: (context, likeState) { - return Expanded( - child: RefreshIndicator( - onRefresh: _onRefresh, - child: ListView.builder( - controller: scrollController, - padding: EdgeInsets.zero, - itemCount: state.data?.data?.length ?? 0, - itemBuilder: (context, index) { - final data = state.data?.data?[index]; - return data != null - ? _Card.fromData( - data, - onLike: _onLike, - isLiked: likeState.likedIds - ?.contains(data.id) == - true, - onTap: () => - _navToDetails(context, data), - ) - : const SizedBox.shrink(); - }, - ), - ), - ); - }, - ), + ? const CircularProgressIndicator() + : BlocBuilder( + builder: (context, likeState) { + return Expanded( + child: RefreshIndicator( + onRefresh: _onRefresh, + child: ListView.builder( + controller: scrollController, + padding: EdgeInsets.zero, + itemCount: state.data?.data?.length ?? 0, + itemBuilder: (context, index) { + final data = state.data?.data?[index]; + return data != null + ? _Card.fromData( + data, + onLike: _onLike, + isLiked: likeState.likedIds + ?.contains(data.id) == + true, + onTap: () => + _navToDetails(context, data), + ) + : const SizedBox.shrink(); + }, + ), + ), + ); + }, + ), ), BlocBuilder( - builder: (context, state) => state.isPaginationLoading + builder: (context, state) => + state.isPaginationLoading ? const CircularProgressIndicator() : const SizedBox.shrink(), ), @@ -205,27 +212,3 @@ class _BodyState extends State<_Body> { }); } } - -// -// @override -// Widget build(BuildContext context) { -// final data = ApiRepository().loadData(); -// return Center( -// child: FutureBuilder?>( -// future: data, -// builder: (context, snapshot) => SingleChildScrollView( -// child: snapshot.hasData -// ? Column( -// mainAxisAlignment: MainAxisAlignment.center, -// children: snapshot.data -// ?.map((data) => CardPost.fromData(data, -// onLike: (String title, bool isLiked) => -// _showSnackBar(context, title, isLiked), -// onTap: () => _navToDetails(context, data))) -// .toList() ?? -// []) -// : const CircularProgressIndicator(), -// ), -// ), -// ); -// }