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 c0801b4..4c403c5 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(), ), @@ -195,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), ), @@ -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(), -// ), -// ), -// ); -// }