import 'package:flutter_bloc/flutter_bloc.dart'; import '../../../core/network/api_client.dart'; import 'partners_state.dart'; class PartnersCubit extends Cubit { final ApiClient _apiClient; PartnersCubit({ApiClient? apiClient}) : _apiClient = apiClient ?? ApiClient(), super(PartnersInitial()); Future fetchPartners({String type = 'ALL', String country = 'ALL', String? search}) async { emit(PartnersLoading()); try { final queryParams = {}; if (type != 'ALL') queryParams['type'] = type; if (country != 'ALL') queryParams['country'] = country; if (search != null && search.isNotEmpty) queryParams['search'] = search; final res = await _apiClient.get( '/api/v1/partners', queryParams: queryParams, requiresAuth: false, ); final list = (res['data'] as List?) ?? []; emit(PartnersLoaded( partners: list, selectedType: type, selectedCountry: country, )); } catch (e) { emit(PartnersFailure(e.toString())); } } }