This commit is contained in:
Felipe
2024-02-16 08:52:37 -05:00
parent 1c20d0c0cd
commit 9ca2b62be3
39 changed files with 2299 additions and 327 deletions
@@ -0,0 +1,29 @@
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:equatable/equatable.dart';
import 'package:user_repository/user_repository.dart';
part 'update_user_info_event.dart';
part 'update_user_info_state.dart';
class UpdateUserInfoBloc
extends Bloc<UpdateUserInfoEvent, UpdateUserInfoState> {
final UserRepository _userRepository;
UpdateUserInfoBloc({required UserRepository userRepository})
: _userRepository = userRepository,
super(UpdateUserInfoInitial()) {
on<UploadPicture>(_onUploadPicture);
}
void _onUploadPicture(
UploadPicture event, Emitter<UpdateUserInfoState> emit) async {
emit(UploadPictureLoading());
try {
String userImage =
await _userRepository.uploadPicture(event.file, event.userId);
emit(UploadPictureSuccess(userImage));
} catch (e) {
emit(UploadPictureFailure());
}
}
}
@@ -0,0 +1,18 @@
part of 'update_user_info_bloc.dart';
abstract class UpdateUserInfoEvent extends Equatable {
const UpdateUserInfoEvent();
@override
List<Object> get props => [];
}
class UploadPicture extends UpdateUserInfoEvent {
final String file;
final String userId;
const UploadPicture(this.file, this.userId);
@override
List<Object> get props => [file, userId];
}
@@ -0,0 +1,23 @@
part of 'update_user_info_bloc.dart';
abstract class UpdateUserInfoState extends Equatable {
const UpdateUserInfoState();
@override
List<Object> get props => [];
}
class UpdateUserInfoInitial extends UpdateUserInfoState {}
class UploadPictureFailure extends UpdateUserInfoState {}
class UploadPictureLoading extends UpdateUserInfoState {}
class UploadPictureSuccess extends UpdateUserInfoState {
final String userImage;
const UploadPictureSuccess(this.userImage);
@override
List<Object> get props => [userImage];
}