import 'dart:async'; import 'package:bloc/bloc.dart'; import 'package:hadi_hoda_flutter/core/status/base_status.dart'; import 'package:hadi_hoda_flutter/features/language/domain/entity/language_entity.dart'; import 'package:hadi_hoda_flutter/features/language/domain/usecases/get_language_usecase.dart'; import 'package:hadi_hoda_flutter/features/language/presentation/bloc/language_event.dart'; import 'package:hadi_hoda_flutter/features/language/presentation/bloc/language_state.dart'; class LanguageBloc extends Bloc { /// ------------constructor------------ LanguageBloc( this._getLanguageUseCase, ) : super(const LanguageState()) { on(_getLanguageEvent); } /// ------------UseCases------------ final GetLanguageUseCase _getLanguageUseCase; /// ------------Variables------------ /// ------------Controllers------------ /// ------------Functions------------ /// ------------Api Calls------------ FutureOr _getLanguageEvent(event, emit) async { await _getLanguageUseCase(event.languageParams).then( (value) { value.fold( (data) { emit(state.copyWith(getLanguageStatus: BaseComplete(data))); }, (error) { emit(state.copyWith(getLanguageStatus: BaseError(error.errorMessage))); }, ); }, ); } }