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 1/2] =?UTF-8?q?refactor:=20=D1=83=D0=B1=D1=80=D0=B0=D0=BB?= =?UTF-8?q?=20=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(), -// ), -// ), -// ); -// } -- 2.25.1 From 235cf4b3317fb5be913c8d4c1c27c21b0216e00a 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:46:49 +0400 Subject: [PATCH 2/2] =?UTF-8?q?=D0=9F=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BB=D0=BE=D0=BA=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D1=8E=20=D0=B4=D0=BB=D1=8F=20SnackBar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- l10n/app_en.arb | 4 ++-- l10n/app_ru.arb | 4 ++-- lib/components/locale/l10n/app_locale.dart | 4 ++-- lib/components/locale/l10n/app_locale_en.dart | 4 ++-- lib/components/locale/l10n/app_locale_ru.dart | 4 ++-- lib/presentation/home_page/home_page.dart | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/l10n/app_en.arb b/l10n/app_en.arb index a01051c..91b1da2 100644 --- a/l10n/app_en.arb +++ b/l10n/app_en.arb @@ -2,8 +2,8 @@ "@@locale": "en", "search": "Search", - "liked": "liked!", - "disliked": "disliked :(", + "liked": "You liked:", + "disliked": "You disliked:", "arbEnding": "Чтобы не забыть про отсутствие запятой :)" } \ No newline at end of file diff --git a/l10n/app_ru.arb b/l10n/app_ru.arb index 7b30d41..37cd287 100644 --- a/l10n/app_ru.arb +++ b/l10n/app_ru.arb @@ -2,8 +2,8 @@ "@@locale": "ru", "search": "Поиск", - "liked": "понравился!", - "disliked": "разонравился :(", + "liked": "Вы поставили лайк:", + "disliked": "Вы убрали лайк:", "arbEnding": "Чтобы не забыть про отсутствие запятой :)" } \ No newline at end of file diff --git a/lib/components/locale/l10n/app_locale.dart b/lib/components/locale/l10n/app_locale.dart index 0922eb1..dd8048a 100644 --- a/lib/components/locale/l10n/app_locale.dart +++ b/lib/components/locale/l10n/app_locale.dart @@ -104,13 +104,13 @@ abstract class AppLocale { /// No description provided for @liked. /// /// In ru, this message translates to: - /// **'понравился!'** + /// **'Вы поставили лайк:'** String get liked; /// No description provided for @disliked. /// /// In ru, this message translates to: - /// **'разонравился :('** + /// **'Вы убрали лайк:'** String get disliked; /// No description provided for @arbEnding. diff --git a/lib/components/locale/l10n/app_locale_en.dart b/lib/components/locale/l10n/app_locale_en.dart index 599548c..e859367 100644 --- a/lib/components/locale/l10n/app_locale_en.dart +++ b/lib/components/locale/l10n/app_locale_en.dart @@ -10,10 +10,10 @@ class AppLocaleEn extends AppLocale { String get search => 'Search'; @override - String get liked => 'liked!'; + String get liked => 'You liked:'; @override - String get disliked => 'disliked :('; + String get disliked => 'You disliked:'; @override String get arbEnding => 'Чтобы не забыть про отсутствие запятой :)'; diff --git a/lib/components/locale/l10n/app_locale_ru.dart b/lib/components/locale/l10n/app_locale_ru.dart index b8d5444..abe3438 100644 --- a/lib/components/locale/l10n/app_locale_ru.dart +++ b/lib/components/locale/l10n/app_locale_ru.dart @@ -10,10 +10,10 @@ class AppLocaleRu extends AppLocale { String get search => 'Поиск'; @override - String get liked => 'понравился!'; + String get liked => 'Вы поставили лайк:'; @override - String get disliked => 'разонравился :('; + String get disliked => 'Вы убрали лайк:'; @override String get arbEnding => 'Чтобы не забыть про отсутствие запятой :)'; diff --git a/lib/presentation/home_page/home_page.dart b/lib/presentation/home_page/home_page.dart index 631984f..4c403c5 100644 --- a/lib/presentation/home_page/home_page.dart +++ b/lib/presentation/home_page/home_page.dart @@ -202,7 +202,7 @@ class _BodyState extends State<_Body> { WidgetsBinding.instance.addPostFrameCallback((_) { ScaffoldMessenger.of(context).showSnackBar(SnackBar( content: Text( - '${isLiked ? 'Вы поставили лайк: ' : 'Вы убрали лайк: '} $title', + '${isLiked ? context.locale.liked : context.locale.disliked } $title', style: const TextStyle( color: Colors.black45, fontSize: 20, fontWeight: FontWeight.bold), ), -- 2.25.1