This commit is contained in:
Felipe
2024-03-18 17:46:03 -05:00
parent b7b66c389f
commit bb840260ba
15 changed files with 259 additions and 30 deletions
@@ -0,0 +1,23 @@
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:equatable/equatable.dart';
import 'package:professional_repository/professional_repository.dart';
part 'professional_profile_event.dart';
part 'professional_profile_state.dart';
class ProfessionalProfileBloc extends Bloc<ProfessionalProfileEvent, ProfessionalProfileState> {
final FirebaseProfessionalRepository _professionalRepository;
ProfessionalProfileBloc({required FirebaseProfessionalRepository professionalRepository}) : _professionalRepository = professionalRepository, super((UpdateProfessionalInfoInitial())) {
on<UpdateProfessionalInfo>(_onUpdateProfessionalInfo);
}
void _onUpdateProfessionalInfo(UpdateProfessionalInfo event, Emitter<ProfessionalProfileState> emit) async {
emit(UpdateProfessionalInfoLoading());
try {
emit(const UpdateProfessionalInfoSuccess());
} catch (e) {
emit(UpdateProfessionalInfoFailure());
}
}
}
@@ -0,0 +1,21 @@
part of 'professional_profile_bloc.dart';
abstract class ProfessionalProfileEvent extends Equatable {
const ProfessionalProfileEvent();
@override
List<Object?> get props => [];
}
class UpdateProfessionalInfo extends ProfessionalProfileEvent {
final ProfessionalEntity professional;
final String? fileBanner;
const UpdateProfessionalInfo({
required this.professional,
this.fileBanner,
});
@override
List<Object?> get props => [professional, fileBanner];
}
@@ -0,0 +1,21 @@
part of 'professional_profile_bloc.dart';
abstract class ProfessionalProfileState extends Equatable {
const ProfessionalProfileState();
@override
List<Object> get props => [];
}
class UpdateProfessionalInfoInitial extends ProfessionalProfileState {}
class UpdateProfessionalInfoFailure extends ProfessionalProfileState {}
class UpdateProfessionalInfoLoading extends ProfessionalProfileState {}
class UpdateProfessionalInfoSuccess extends ProfessionalProfileState {
const UpdateProfessionalInfoSuccess();
@override
List<Object> get props => [];
}