6 до починки пагинации
This commit is contained in:
parent
6c7b2245c9
commit
f96bd1b426
@ -48,7 +48,7 @@ class BodyState extends State<Body> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void _onNextPageListener() {
|
void _onNextPageListener() {
|
||||||
if (scrollController.offset > scrollController.position.maxScrollExtent) {
|
if (scrollController.offset >= scrollController.position.maxScrollExtent) {
|
||||||
final bloc = context.read<HomeBloc>();
|
final bloc = context.read<HomeBloc>();
|
||||||
if (!bloc.state.isPaginationLoading) {
|
if (!bloc.state.isPaginationLoading) {
|
||||||
bloc.add(HomeLoadDataEvent(
|
bloc.add(HomeLoadDataEvent(
|
||||||
@ -59,6 +59,7 @@ class BodyState extends State<Body> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
searchController.dispose();
|
searchController.dispose();
|
||||||
@ -137,7 +138,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(
|
||||||
'$title ${isLiked ? 'liked!' : 'disliked :('}',
|
'$title ${isLiked ? 'liked!' : 'disliked'}',
|
||||||
style: Theme.of(context).textTheme.bodyLarge,
|
style: Theme.of(context).textTheme.bodyLarge,
|
||||||
),
|
),
|
||||||
backgroundColor: Colors.redAccent,
|
backgroundColor: Colors.redAccent,
|
||||||
|
@ -10,6 +10,9 @@ FoodsDto _$FoodsDtoFromJson(Map<String, dynamic> json) => FoodsDto(
|
|||||||
foods: (json['foods'] as List<dynamic>?)
|
foods: (json['foods'] as List<dynamic>?)
|
||||||
?.map((e) => FoodDataDto.fromJson(e as Map<String, dynamic>))
|
?.map((e) => FoodDataDto.fromJson(e as Map<String, dynamic>))
|
||||||
.toList(),
|
.toList(),
|
||||||
|
meta: json['meta'] == null
|
||||||
|
? null
|
||||||
|
: MetaDto.fromJson(json['meta'] as Map<String, dynamic>),
|
||||||
);
|
);
|
||||||
|
|
||||||
FoodDataDto _$FoodDataDtoFromJson(Map<String, dynamic> json) => FoodDataDto(
|
FoodDataDto _$FoodDataDtoFromJson(Map<String, dynamic> json) => FoodDataDto(
|
||||||
|
@ -20,17 +20,12 @@ class FoodRepository extends ApiInterface {
|
|||||||
static const String _baseUrl = 'https://api.nal.usda.gov';
|
static const String _baseUrl = 'https://api.nal.usda.gov';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<HomeData?> loadData({String? q, int page = 1, int pageSize = 5}) async {
|
Future<HomeData?> loadData({String? q, int page = 1, int pageSize = 10}) async {
|
||||||
try {
|
try {
|
||||||
final String searchQuery = q ?? 'food'; // Используем 'food' как значение по умолчанию
|
final String searchQuery = q ?? ''; // Используем 'food' как значение по умолчанию
|
||||||
final String url = '$_baseUrl/fdc/v1/foods/search?api_key=91xPcWwfSGljSRMuoS8IH0GP4hM9QqwwtgSzqJMw&query=$searchQuery&pageSize=10';
|
final String url = '$_baseUrl/fdc/v1/foods/search?api_key=91xPcWwfSGljSRMuoS8IH0GP4hM9QqwwtgSzqJMw&query=$searchQuery&pageNumber=$page&pageSize=$pageSize';
|
||||||
|
|
||||||
final Response<dynamic> response = await _dio.get<Map<dynamic, dynamic>>(url,
|
final Response<dynamic> response = await _dio.get<Map<dynamic, dynamic>>(url);
|
||||||
queryParameters: {
|
|
||||||
'page[number]': page,
|
|
||||||
'page[size]': pageSize,
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
final FoodsDto dto = FoodsDto.fromJson(response.data as Map<String, dynamic>);
|
final FoodsDto dto = FoodsDto.fromJson(response.data as Map<String, dynamic>);
|
||||||
// final List<CardData>? data = dto.foods?.map((e) => e.toDomain()).toList();
|
// final List<CardData>? data = dto.foods?.map((e) => e.toDomain()).toList();
|
||||||
|
Loading…
Reference in New Issue
Block a user