import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:lunchpick/data/repositories/restaurant_repository_impl.dart'; import 'package:lunchpick/data/repositories/visit_repository_impl.dart'; import 'package:lunchpick/data/repositories/settings_repository_impl.dart'; import 'package:lunchpick/data/repositories/weather_repository_impl.dart'; import 'package:lunchpick/data/repositories/recommendation_repository_impl.dart'; import 'package:lunchpick/data/datasources/remote/naver_url_processor.dart'; import 'package:lunchpick/data/datasources/remote/naver_map_parser.dart'; import 'package:lunchpick/data/api/naver_api_client.dart'; import 'package:lunchpick/domain/repositories/restaurant_repository.dart'; import 'package:lunchpick/domain/repositories/visit_repository.dart'; import 'package:lunchpick/domain/repositories/settings_repository.dart'; import 'package:lunchpick/domain/repositories/weather_repository.dart'; import 'package:lunchpick/domain/repositories/recommendation_repository.dart'; import 'package:lunchpick/core/services/geocoding_service.dart'; /// RestaurantRepository Provider final restaurantRepositoryProvider = Provider((ref) { return RestaurantRepositoryImpl(); }); /// VisitRepository Provider final visitRepositoryProvider = Provider((ref) { return VisitRepositoryImpl(); }); /// SettingsRepository Provider final settingsRepositoryProvider = Provider((ref) { return SettingsRepositoryImpl(); }); /// WeatherRepository Provider final weatherRepositoryProvider = Provider((ref) { return WeatherRepositoryImpl(); }); /// RecommendationRepository Provider final recommendationRepositoryProvider = Provider(( ref, ) { return RecommendationRepositoryImpl(); }); /// NaverApiClient Provider final naverApiClientProvider = Provider((ref) { return NaverApiClient(); }); /// NaverMapParser Provider final naverMapParserProvider = Provider((ref) { final apiClient = ref.watch(naverApiClientProvider); return NaverMapParser(apiClient: apiClient); }); /// NaverUrlProcessor Provider final naverUrlProcessorProvider = Provider((ref) { final apiClient = ref.watch(naverApiClientProvider); final parser = ref.watch(naverMapParserProvider); return NaverUrlProcessor(apiClient: apiClient, mapParser: parser); }); /// GeocodingService Provider final geocodingServiceProvider = Provider((ref) { return GeocodingService(); });