lab7 #7

Merged
ns.potapov merged 2 commits from lab7 into main 2024-12-21 18:19:28 +04:00
6 changed files with 63 additions and 80 deletions

View File

@ -2,8 +2,8 @@
"@@locale": "en", "@@locale": "en",
"search": "Search", "search": "Search",
"liked": "liked!", "liked": "You liked:",
"disliked": "disliked :(", "disliked": "You disliked:",
"arbEnding": "Чтобы не забыть про отсутствие запятой :)" "arbEnding": "Чтобы не забыть про отсутствие запятой :)"
} }

View File

@ -2,8 +2,8 @@
"@@locale": "ru", "@@locale": "ru",
"search": "Поиск", "search": "Поиск",
"liked": "понравился!", "liked": "Вы поставили лайк:",
"disliked": "разонравился :(", "disliked": "Вы убрали лайк:",
"arbEnding": "Чтобы не забыть про отсутствие запятой :)" "arbEnding": "Чтобы не забыть про отсутствие запятой :)"
} }

View File

@ -104,13 +104,13 @@ abstract class AppLocale {
/// No description provided for @liked. /// No description provided for @liked.
/// ///
/// In ru, this message translates to: /// In ru, this message translates to:
/// **'понравился!'** /// **'Вы поставили лайк:'**
String get liked; String get liked;
/// No description provided for @disliked. /// No description provided for @disliked.
/// ///
/// In ru, this message translates to: /// In ru, this message translates to:
/// **'разонравился :('** /// **'Вы убрали лайк:'**
String get disliked; String get disliked;
/// No description provided for @arbEnding. /// No description provided for @arbEnding.

View File

@ -10,10 +10,10 @@ class AppLocaleEn extends AppLocale {
String get search => 'Search'; String get search => 'Search';
@override @override
String get liked => 'liked!'; String get liked => 'You liked:';
@override @override
String get disliked => 'disliked :('; String get disliked => 'You disliked:';
@override @override
String get arbEnding => 'Чтобы не забыть про отсутствие запятой :)'; String get arbEnding => 'Чтобы не забыть про отсутствие запятой :)';

View File

@ -10,10 +10,10 @@ class AppLocaleRu extends AppLocale {
String get search => 'Поиск'; String get search => 'Поиск';
@override @override
String get liked => 'понравился!'; String get liked => 'Вы поставили лайк:';
@override @override
String get disliked => 'разонравился :('; String get disliked => 'Вы убрали лайк:';
@override @override
String get arbEnding => 'Чтобы не забыть про отсутствие запятой :)'; String get arbEnding => 'Чтобы не забыть про отсутствие запятой :)';

View File

@ -81,7 +81,10 @@ class _BodyState extends State<_Body> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Padding( return Padding(
padding: EdgeInsets.only(top: MediaQuery.of(context).padding.top), padding: EdgeInsets.only(top: MediaQuery
.of(context)
.padding
.top),
child: Column( child: Column(
children: [ children: [
Row( Row(
@ -94,7 +97,8 @@ class _BodyState extends State<_Body> {
controller: searchController, controller: searchController,
placeholder: context.locale.search, placeholder: context.locale.search,
onChanged: (search) { onChanged: (search) {
Debounce.run(() => context Debounce.run(() =>
context
.read<HomeBloc>() .read<HomeBloc>()
.add(HomeLoadDataEvent(search: search))); .add(HomeLoadDataEvent(search: search)));
}, },
@ -121,10 +125,12 @@ class _BodyState extends State<_Body> {
], ],
), ),
BlocBuilder<HomeBloc, HomeState>( BlocBuilder<HomeBloc, HomeState>(
builder: (context, state) => state.error != null builder: (context, state) =>
state.error != null
? Text( ? Text(
state.error ?? '', state.error ?? '',
style: Theme.of(context) style: Theme
.of(context)
.textTheme .textTheme
.headlineSmall .headlineSmall
?.copyWith(color: Colors.red), ?.copyWith(color: Colors.red),
@ -161,7 +167,8 @@ class _BodyState extends State<_Body> {
), ),
), ),
BlocBuilder<HomeBloc, HomeState>( BlocBuilder<HomeBloc, HomeState>(
builder: (context, state) => state.isPaginationLoading builder: (context, state) =>
state.isPaginationLoading
? const CircularProgressIndicator() ? const CircularProgressIndicator()
: const SizedBox.shrink(), : const SizedBox.shrink(),
), ),
@ -195,7 +202,7 @@ class _BodyState extends State<_Body> {
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
ScaffoldMessenger.of(context).showSnackBar(SnackBar( ScaffoldMessenger.of(context).showSnackBar(SnackBar(
content: Text( content: Text(
'${isLiked ? 'Вы поставили лайк: ' : 'Вы убрали лайк: '} $title', '${isLiked ? context.locale.liked : context.locale.disliked } $title',
style: const TextStyle( style: const TextStyle(
color: Colors.black45, fontSize: 20, fontWeight: FontWeight.bold), 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<List<CardData>?>(
// 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(),
// ),
// ),
// );
// }