4 почти
This commit is contained in:
parent
9863e4dd62
commit
a49b5eb9f8
@ -1,4 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:labs_petrushin/repositories/mock_repository.dart';
|
||||
import '../../Presentation/detailPage.dart';
|
||||
part '../../domain/models/card.dart';
|
||||
|
||||
@ -35,31 +36,22 @@ class Body extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final data = [
|
||||
CardData(text: "Батон",
|
||||
info: "Белый хлеб, испечённый в виде продолговатой булки",
|
||||
urlImage: "https://hlebzavod3.ru/images/virtuemart/product/011_IMG_9657.jpg"),
|
||||
CardData(text: "Багет",
|
||||
info: "Длинный тонкий вид хлеба французского происхождения",
|
||||
urlImage: "https://main-cdn.sbermegamarket.ru/big1/hlr-system/13/14/29/23/31/01/100027310078b0.jpg"),
|
||||
CardData(text: "Круассан",
|
||||
info: "Небольшое мучное кондитерское изделие, булочка в форме полумесяца из слоёного теста",
|
||||
urlImage: "https://shokoladd.ru/wp-content/uploads/2019/02/Croissant_Chocolate_Plate_Two_547531_2048x1152.jpg"),
|
||||
CardData(text: "Чиаба́тта",
|
||||
info: "Итальянский пшеничный хлеб, выпекаемый с использованием закваски, дрожжей и оливкового масла",
|
||||
urlImage: "https://avatars.mds.yandex.net/i?id=a9163f90a989a596b26b30ad39beaf47_l-10629685-images-thumbs&n=13"),
|
||||
CardData(text: "Булочка без картинки",
|
||||
info: "Очень кусьна",
|
||||
urlImage: null)
|
||||
];
|
||||
final data = MockRepository().loadData();
|
||||
return Center(
|
||||
child: SingleChildScrollView(
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: data.map((e) => MyCard.fromData(e,
|
||||
onLike: () => _showSnackBar(context),)).toList(),
|
||||
)
|
||||
)
|
||||
child: FutureBuilder<List<CardData>?>(
|
||||
future: data,
|
||||
builder: (context, snapshot) =>
|
||||
SingleChildScrollView(
|
||||
child: snapshot.hasData ? Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: snapshot.data?.map((e) => MyCard.fromData(
|
||||
e,
|
||||
onLike: () => _showSnackBar(context),
|
||||
)).toList() ?? [],
|
||||
)
|
||||
: const CircularProgressIndicator(),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
10
lib/data/mappers/bread_mapper.dart
Normal file
10
lib/data/mappers/bread_mapper.dart
Normal file
@ -0,0 +1,10 @@
|
||||
|
||||
import 'package:labs_petrushin/Presentation/home_page/home_page.dart';
|
||||
import 'package:labs_petrushin/data/dtos/bread_dto.dart';
|
||||
|
||||
extension CharacterDataDtoToModel on BreadDataDto {
|
||||
CardData toDomain() => CardData(
|
||||
text: attributes?.name ?? "Просто хлэп",
|
||||
info: attributes?.info ?? "Очень кусьна",
|
||||
urlImage: attributes?.image);
|
||||
}
|
6
lib/repositories/api_interface.dart
Normal file
6
lib/repositories/api_interface.dart
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
import 'package:labs_petrushin/Presentation/home_page/home_page.dart';
|
||||
|
||||
abstract class ApiInterface {
|
||||
Future<List<CardData>?> loadData();
|
||||
}
|
22
lib/repositories/mock_repository.dart
Normal file
22
lib/repositories/mock_repository.dart
Normal file
@ -0,0 +1,22 @@
|
||||
import 'package:labs_petrushin/Presentation/home_page/home_page.dart';
|
||||
import 'package:labs_petrushin/repositories/api_interface.dart';
|
||||
|
||||
class MockRepository extends ApiInterface {
|
||||
@override
|
||||
Future<List<CardData>?> loadData() async {
|
||||
return [
|
||||
CardData(text: "Батон",
|
||||
info: "Белый хлеб, испечённый в виде продолговатой булки",
|
||||
urlImage: "https://hlebzavod3.ru/images/virtuemart/product/011_IMG_9657.jpg"),
|
||||
CardData(text: "Багет",
|
||||
info: "Длинный тонкий вид хлеба французского происхождения",
|
||||
urlImage: "https://main-cdn.sbermegamarket.ru/big1/hlr-system/13/14/29/23/31/01/100027310078b0.jpg"),
|
||||
CardData(text: "Круассан",
|
||||
info: "Небольшое мучное кондитерское изделие, булочка в форме полумесяца из слоёного теста",
|
||||
urlImage: "https://shokoladd.ru/wp-content/uploads/2019/02/Croissant_Chocolate_Plate_Two_547531_2048x1152.jpg"),
|
||||
CardData(text: "Чиаба́тта",
|
||||
info: "Итальянский пшеничный хлеб, выпекаемый с использованием закваски, дрожжей и оливкового масла",
|
||||
urlImage: "https://avatars.mds.yandex.net/i?id=a9163f90a989a596b26b30ad39beaf47_l-10629685-images-thumbs&n=13")
|
||||
];
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user