import 'package:im_app/app/di/db_provider.dart';
import 'package:im_app/data/repositories/discover_mini_app_repository_impl.dart';
import 'package:im_app/data/repositories/explore_mini_app_repository_impl.dart';
import 'package:im_app/data/repositories/favorite_mini_app_repository_impl.dart';
import 'package:im_app/data/repositories/recent_mini_app_repository_impl.dart';
import 'package:im_app/domain/repositories/mini_app_repository.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';

part 'mini_app_provider.g.dart';

@riverpod
MiniAppRepository discoverMiniAppRepository(Ref ref) =>
    DiscoverMiniAppRepositoryImpl(ref.watch(storageSdkProvider));

@riverpod
MiniAppRepository exploreMiniAppRepository(Ref ref) =>
    ExploreMiniAppRepositoryImpl(ref.watch(storageSdkProvider));

@riverpod
MiniAppRepository favoriteMiniAppRepository(Ref ref) =>
    FavoriteMiniAppRepositoryImpl(ref.watch(storageSdkProvider));

@riverpod
MiniAppRepository recentMiniAppRepository(Ref ref) =>
    RecentMiniAppRepositoryImpl(ref.watch(storageSdkProvider));
