ProfileBloc constructor

ProfileBloc()

Implementation

ProfileBloc() : super(ProfileStateUninitialized()) {
  on<InitialiseProfileEvent>((event, emit) async {
    emit(await determineProfileState(event));
  });

  on<UploadingProfilePhotoEvent>((event, emit) {
    if (state is ProfileInitialised) {
      var theState = state as ProfileInitialised;
      emit(theState.progressWith(
          uploadingProfilePhotoProgress: event.progress));
    }
  });

  on<UploadingBGPhotoEvent>((event, emit) {
    if (state is ProfileInitialised) {
      var theState = state as ProfileInitialised;
      emit(theState.progressWith(uploadingBGProgress: event.progress));
    }
  });

  on<ProfileChangedProfileEvent>((event, emit) async {
    if (state is LoggedInWatchingMyProfile) {
      var myState = state as LoggedInWatchingMyProfile;
      emit(await _updated(
          myState,
          myState.currentMemberProfileModel.copyWith(
              profile: event.html, memberMedia: event.memberMedia)));
    }
  });

  on<ProfilePhotoChangedProfileEvent>((event, emit) async {
    if (state is LoggedInWatchingMyProfile) {
      var myState = state as LoggedInWatchingMyProfile;
      emit(await _updated(
          myState,
          myState.currentMemberProfileModel
              .copyWith(profileOverride: event.value.url)));
    }
  });

  on<ProfileBGPhotoChangedProfileEvent>((event, emit) async {
    if (state is LoggedInWatchingMyProfile) {
      var myState = state as LoggedInWatchingMyProfile;
      emit(await _updated(
          myState,
          myState.currentMemberProfileModel
              .copyWith(profileBackground: event.value)));
    }
  });
}