Files
prosappco/lib/blocs/profile_bloc/profile_bloc.dart
T
2024-02-26 14:46:26 -05:00

48 lines
1.4 KiB
Dart

import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:equatable/equatable.dart';
import 'package:user_repository/user_repository.dart';
part 'profile_event.dart';
part 'profile_state.dart';
class ProfileBloc extends Bloc<ProfileEvent, ProfileState> {
final UserRepository _userRepository;
ProfileBloc({required UserRepository userRepository})
: _userRepository = userRepository,
super(UpdateUserInfoInitial()) {
// on<UploadPicture>(_onUploadPicture);
on<UpdateUserInfo>(_onUpdateUserInfo);
}
// void _onUploadPicture(UploadPicture event, Emitter<ProfileState> emit) async {
// emit(UploadPictureLoading());
// try {
// String userImage =
// await _userRepository.uploadPicture(event.file, event.userId);
// emit(UploadPictureSuccess(userImage));
// } catch (e) {
// emit(UploadPictureFailure());
// }
// }
void _onUpdateUserInfo(
UpdateUserInfo event, Emitter<ProfileState> emit) async {
emit(UpdateUserInfoLoading());
try {
await _userRepository.updateUserInfo(event.userId, event.picture, {
'name': event.name,
// 'picture': event.picture,
'nickname': event.nickname,
'email': event.email,
'phone': event.phone,
'birthDate': event.birthDate,
'gender': event.gender
});
emit(const UpdateUserInfoSuccess());
} catch (e) {
emit(UpdateUserInfoFailure());
}
}
}