48 lines
1.4 KiB
Dart
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());
|
|
}
|
|
}
|
|
}
|