form pro - sin imagenes

This commit is contained in:
Felipe
2024-03-14 22:07:46 -05:00
parent 66125235dd
commit a3c50cf2c8
123 changed files with 2077 additions and 18345 deletions
@@ -0,0 +1,63 @@
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<ProfessionalEvent, ProfessionalState> {
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<SwitchProModeEvent>((event, emit) async {
await _professionalRepository.switchProMode();
});
on<UpdateProfessionalEvent>((event, emit) async {
emit(LoadedModeProState(event.isProModeActive));
});
on<SendProfessionalToReviewEvent>((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));
});
}
}
@@ -0,0 +1,53 @@
part of 'professional_bloc.dart';
abstract class ProfessionalEvent extends Equatable {
const ProfessionalEvent();
@override
List<Object> get props => [];
}
class UpdateProfessionalEvent extends ProfessionalEvent {
final bool isProModeActive;
const UpdateProfessionalEvent({
required this.isProModeActive,
});
}
class SwitchProModeEvent extends ProfessionalEvent {
const SwitchProModeEvent();
}
class SendProfessionalToReviewEvent extends ProfessionalEvent {
final String id;
final String identification;
final String identificationPicture;
final String profession;
final String certificatePicture;
final List<String> specializations;
final List<String> specializationsPictures;
const SendProfessionalToReviewEvent({
required this.id,
required this.identification,
required this.identificationPicture,
required this.profession,
required this.certificatePicture,
required this.specializations,
required this.specializationsPictures,
});
@override
List<Object> get props => [
id,
identification,
identificationPicture,
profession,
certificatePicture,
specializations,
specializationsPictures
];
}
@@ -0,0 +1,19 @@
part of 'professional_bloc.dart';
abstract class ProfessionalState extends Equatable {
const ProfessionalState();
@override
List<Object> get props => [];
}
class ProfessionalInitial extends ProfessionalState {}
class LoadedModeProState extends ProfessionalState {
final bool isProModeActive;
const LoadedModeProState(this.isProModeActive);
@override
List<Object> get props => [isProModeActive];
}