import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../../data/referral_repository.dart'; import '../../domain/models/referral_info.dart'; /// My tenant referral info + code final referralInfoProvider = FutureProvider((ref) async { return ref.watch(referralRepositoryProvider).getMyReferralInfo(); }); /// My direct tenant referrals (first page) final referralListProvider = FutureProvider<({List items, int total})>((ref) async { return ref.watch(referralRepositoryProvider).getMyReferrals(); }); /// Pending tenant rewards final pendingRewardsProvider = FutureProvider<({List items, int total})>((ref) async { return ref.watch(referralRepositoryProvider).getMyRewards(status: 'PENDING'); }); /// All tenant rewards (for history tab) final allRewardsProvider = FutureProvider<({List items, int total})>((ref) async { return ref.watch(referralRepositoryProvider).getMyRewards(); }); // ── User-level / personal circle ───────────────────────────────────────────── /// Personal user referral info (code, shareUrl, circleSize, pointsBalance …) final userReferralInfoProvider = FutureProvider((ref) async { return ref.watch(referralRepositoryProvider).getMyUserReferralInfo(); }); /// Personal circle members (level-1 invitees) final myCircleProvider = FutureProvider<({List items, int total})>((ref) async { return ref.watch(referralRepositoryProvider).getMyCircle(); }); /// Points balance + recent transactions final myPointsProvider = FutureProvider< ({ int balance, int totalEarned, int totalSpent, List transactions, int total })>((ref) async { return ref.watch(referralRepositoryProvider).getMyPoints(); });