This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/// Custom main points to Core main | |
import 'package:core/main.dart' as entry; | |
import 'config/custom_configuration.dart'; | |
void main() => entry.main(configuration: CustomConfiguration()); | |
/// Core main | |
Future<void> main({AppConfiguration? configuration}) async { | |
final AppConfiguration config = configuration ?? DefaultConfiguration(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class CustomConfiguration extends AppConfiguration { | |
@override | |
String endpoint() => 'https://api.nytimes.com/svc/'; | |
@override | |
ThemeData theme() { | |
const colorScheme = ColorScheme.light( | |
primary: Colors.cyan, | |
primaryContainer: Color(0xffcccccc), | |
onPrimary: Colors.black54, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:flutter/material.dart'; | |
import 'package:get_localization/get_localization.dart'; | |
import 'base_localisation.dart'; | |
/// General Configurations | |
abstract class AppConfiguration { | |
String endpoint(); | |
ThemeData theme(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
BlocBuilder<ArticlesCubit, ArticlesState>( | |
bloc: _articlesCubit, | |
builder: (BuildContext context, ArticlesState state) { | |
if (state is ArticlesLoadingState) { | |
return const Center(child: CircularProgressIndicator()); | |
} else if (state is ArticlesLoadedState) { | |
// Load articles | |
} | |
} | |
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:bloc/bloc.dart'; | |
import 'package:domain/domain.dart'; | |
import 'package:flutter_clean_architecture/core/enums.dart'; | |
import 'package:get_it/get_it.dart'; | |
import 'articles_state.dart'; | |
class ArticlesCubit extends Cubit<ArticlesState> { | |
ArticlesCubit() : super(const ArticlesInitialState()); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:cache/cache.dart'; | |
import 'package:cache/src/db_provider.dart'; | |
import 'package:cache/src/mapper/articles_entity_mapper.dart'; | |
import 'package:flutter_test/flutter_test.dart'; | |
import 'package:mockito/annotations.dart'; | |
import 'package:mockito/mockito.dart'; | |
import 'cache_storage_repository_impl_test.mocks.dart'; | |
import 'mock/mock_article_entity.dart'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'dart:convert'; | |
import 'package:cache/src/db_provider.dart'; | |
import 'package:cache/src/mapper/articles_entity_mapper.dart'; | |
import 'package:cache/src/models/article_model.dart'; | |
import 'package:data/data.dart'; | |
import 'package:injectable/injectable.dart'; | |
@Injectable(as: CacheStorageRepository) | |
class CacheStorageRepositoryImpl implements CacheStorageRepository { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:data/data.dart'; | |
import 'package:flutter_test/flutter_test.dart'; | |
import 'package:mockito/annotations.dart'; | |
import 'package:mockito/mockito.dart'; | |
import 'package:remote/remote.dart'; | |
import 'package:remote/src/models/article/articles_response_model.dart'; | |
import '../mock/mock_articles_model.dart'; | |
import 'articles_remote_repository_impl_test.mocks.dart'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:data/data.dart'; | |
import 'package:injectable/injectable.dart'; | |
import 'package:remote/src/api/articles_service.dart'; | |
import 'package:remote/src/mapper/articles_entity_mapper.dart'; | |
import 'package:remote/src/models/article/article_model.dart'; | |
import 'package:remote/src/models/article/articles_response_model.dart'; | |
@Injectable(as: ArticlesRemoteRepository) | |
class ArticlesRemoteRepositoryImpl extends ArticlesRemoteRepository { | |
ArticlesRemoteRepositoryImpl({ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:data/data.dart'; | |
import 'package:flutter_test/flutter_test.dart'; | |
import 'package:mockito/annotations.dart'; | |
import 'package:mockito/mockito.dart'; | |
import '../../mock/mock_article_entity.dart'; | |
import 'remote_data_source_test.mocks.dart'; | |
@GenerateMocks([ | |
ArticlesRemoteRepository, |
NewerOlder