diff --git a/assets/fruits.jpg b/assets/fruits.jpg new file mode 100644 index 0000000..cb70539 Binary files /dev/null and b/assets/fruits.jpg differ diff --git a/lib/data/controllers/SearchController.dart b/lib/data/controllers/SearchController.dart index a4994c5..607330c 100644 --- a/lib/data/controllers/SearchController.dart +++ b/lib/data/controllers/SearchController.dart @@ -13,7 +13,7 @@ class SearchController with ChangeNotifier { if (_query != null && _query!.isNotEmpty) { try { final Response response = await _dio.get>( - 'https://api.potterdb.com/v1/characters', + 'http://10.0.2.2:5000/flashcards', queryParameters: {'filter[name_const]': _query}, ); diff --git a/lib/data/dtos/words_dto.dart b/lib/data/dtos/words_dto.dart index 644ff02..4a136c8 100644 --- a/lib/data/dtos/words_dto.dart +++ b/lib/data/dtos/words_dto.dart @@ -24,15 +24,14 @@ class WordDataDto { @JsonSerializable(createToJson: false) class WordAttributesDataDto { - final String? name; - final String? born; - final String? died; + final String? word; + final String? translation; final String? image; factory WordAttributesDataDto.fromJson(Map json) => _$WordAttributesDataDtoFromJson(json); - WordAttributesDataDto(this.name, this.born, this.died, this.image); + WordAttributesDataDto(this.word, this.translation, this.image); } @JsonSerializable(createToJson: false) diff --git a/lib/data/dtos/words_dto.g.dart b/lib/data/dtos/words_dto.g.dart index 61d1af7..0f2f3e0 100644 --- a/lib/data/dtos/words_dto.g.dart +++ b/lib/data/dtos/words_dto.g.dart @@ -27,9 +27,8 @@ WordDataDto _$WordDataDtoFromJson(Map json) => WordDataDto( WordAttributesDataDto _$WordAttributesDataDtoFromJson( Map json) => WordAttributesDataDto( - json['name'] as String?, - json['born'] as String?, - json['died'] as String?, + json['word'] as String?, + json['translation'] as String?, json['image'] as String?, ); diff --git a/lib/data/mappers/words_mapper.dart b/lib/data/mappers/words_mapper.dart index 9fe3225..37c5eef 100644 --- a/lib/data/mappers/words_mapper.dart +++ b/lib/data/mappers/words_mapper.dart @@ -3,13 +3,13 @@ import 'package:card_app/domain/models/card.dart'; import 'package:card_app/domain/models/home.dart'; const _imagePlaceholder = - 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcS69a8OWnRueQNykBpuyfbGxl3gt5ct46NOHg&s'; + 'https://yesfrukt.com/storage/source/f96cd9ce000c140442ae0b067aa84978/content/1/5rKj4rEukLwUqOZCW_DG3RZ2NO14IZ7s.jpg'; extension WordDataDtoToModel on WordDataDto { CardData toDomain() => CardData( - word: attributes?.name ?? 'UNKNOWN', + word: attributes?.word ?? 'UNKNOWN', image: attributes?.image ?? _imagePlaceholder, - translation: '${attributes?.born}', + translation: '${attributes?.translation}', id: id, ); } diff --git a/lib/domain/models/card.dart b/lib/domain/models/card.dart index 7f961b8..e218f29 100644 --- a/lib/domain/models/card.dart +++ b/lib/domain/models/card.dart @@ -2,14 +2,12 @@ class CardData { final String word; final String translation; final String? image; - final int mark; final String? id; const CardData({ required this.word, required this.translation, required this.image, - this.mark = 0, this.id }); } diff --git a/lib/presentation/home_page/bloc/bloc.dart b/lib/presentation/home_page/bloc/bloc.dart index b78c30a..847db2b 100644 --- a/lib/presentation/home_page/bloc/bloc.dart +++ b/lib/presentation/home_page/bloc/bloc.dart @@ -1,3 +1,4 @@ +import 'package:card_app/domain/models/home.dart'; import 'package:card_app/presentation/home_page/bloc/events.dart'; import 'package:card_app/presentation/home_page/bloc/state.dart'; import 'package:card_app/repositories/WordsRepository.dart'; @@ -19,6 +20,7 @@ class HomeBloc extends Bloc { } String? error; + final data = await repo.loadData(q: event.search, page: event.nextPage ?? 1, onError: (e) => error = e); diff --git a/lib/presentation/home_page/card.dart b/lib/presentation/home_page/card.dart index 1aaf349..018aa80 100644 --- a/lib/presentation/home_page/card.dart +++ b/lib/presentation/home_page/card.dart @@ -36,7 +36,6 @@ class _Card extends StatelessWidget { word: data.word, translation: data.translation, image: data.image ?? "", - mark: data.mark, onKnow: onKnow, onTap: onTap, diff --git a/lib/repositories/WordsRepository.dart b/lib/repositories/WordsRepository.dart index 69c0beb..d354b6d 100644 --- a/lib/repositories/WordsRepository.dart +++ b/lib/repositories/WordsRepository.dart @@ -14,7 +14,7 @@ class WordsRepository extends ApiInterface { requestBody: true, )); - static const String _baseUrl = 'https://api.potterdb.com'; + static const String _baseUrl = 'http://10.0.2.2:5000/flashcards'; @override Future loadData({ @@ -24,7 +24,7 @@ class WordsRepository extends ApiInterface { int pageSize = 5, }) async { try { - const String url = '$_baseUrl/v1/characters'; + const String url = _baseUrl; final Response response = await _dio.get>( url, diff --git a/lib/repositories/mock_repository.dart b/lib/repositories/mock_repository.dart index e801223..72e2613 100644 --- a/lib/repositories/mock_repository.dart +++ b/lib/repositories/mock_repository.dart @@ -12,14 +12,14 @@ class MockRepository extends ApiInterface { translation: 'Привет', image: 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcS69a8OWnRueQNykBpuyfbGxl3gt5ct46NOHg&s', - mark: 10, + ), CardData( word: 'Book', translation: 'Книга', image: 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSfbH7Ckkbzrr3KZlb144GTaAmJnz87U9opGw&s', - mark: 0), + ), CardData( word: 'Cat', translation: 'Кот',