import 'dart:developer'; // ignore: depend_on_referenced_packages import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; import 'package:professional_repository/professional_repository.dart'; import 'package:user_repository/user_repository.dart'; part 'professional_event.dart'; part 'professional_state.dart'; class ProfessionalBloc extends Bloc { final FirebaseProfessionalRepository _professionalRepository; final UserRepository _userRepository; ProfessionalBloc( {required FirebaseProfessionalRepository professionalRepository, required UserRepository userRepository}) : _professionalRepository = professionalRepository, _userRepository = userRepository, super(ProfessionalInitial()) { bool isProModeActive = _professionalRepository.isProModeActive; emit(LoadedModeProState(isProModeActive)); _professionalRepository.sreamIsProModeActive().listen((isProModeActive) { log('xdd despues de escuchar'); add(UpdateProfessionalEvent(isProModeActive: isProModeActive)); }); on((event, emit) async { await _professionalRepository.switchProMode(); }); on((event, emit) async { emit(LoadedModeProState(event.isProModeActive)); }); on((event, emit) async { final myUser = await _userRepository.lastUser(); if (myUser == null) return; await _professionalRepository.saveProfessionalInfo(ProfessionalEntity( id: event.id, identification: event.identification, identificationPicture: event.identificationPicture, address: '', profession: event.profession, specializations: event.specializations, specializationsPictures: event.specializationsPictures, certificatePicture: event.certificatePicture, latitude: '', longitude: '', rate: '', location: '', schedules: Schedules.empty, paymentMethods: PaymentMethodEntity.empty, )); _userRepository .updateUserInfo(myUser.copyWith(proState: ProState.pending)); }); } }