dueCards function
Implementation
@riverpod
Future<List<ReviewCard>> dueCards(Ref ref) async {
final ds = ref.watch(supabaseDatasourceProvider);
final models = await ds.getDueCards();
final entities = models.map((m) => m.toEntity()).toList();
// Cache the count for next cold-start's home headline. Just the count —
// we don't persist card content (privacy + size).
unawaited(
ref.read(userPrefsDatasourceProvider).setCachedDueCount(entities.length),
);
return entities;
}