diff --git a/lib/presentation/providers/repository_provider.dart b/lib/presentation/providers/repository_provider.dart new file mode 100644 index 0000000..265aa73 --- /dev/null +++ b/lib/presentation/providers/repository_provider.dart @@ -0,0 +1,13 @@ +import 'package:flutter/foundation.dart' show kIsWeb; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import '../../data/datasources/pokemon_local_datasource.dart'; +import '../../data/datasources/pokemon_remote_datasource.dart'; +import '../../data/repositories/pokemon_repository_impl.dart'; +import '../../domain/repositories/pokemon_repository.dart'; + +/// Point d'injection unique du repository. Sur le web, pas de SQLite (local = null). +final pokemonRepositoryProvider = Provider((ref) { + final remote = PokemonRemoteDataSource(); + final local = kIsWeb ? null : PokemonLocalDataSource(); + return PokemonRepositoryImpl(remote: remote, local: local); +});