after
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
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, {
|
||||
'name': event.name,
|
||||
});
|
||||
emit(const UpdateUserInfoSuccess());
|
||||
} catch (e) {
|
||||
emit(UpdateUserInfoFailure());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user