Files
prosappco/lib/blocs/my_user_bloc/my_user_bloc.dart
T
2024-02-16 11:37:12 -05:00

37 lines
1.0 KiB
Dart

import 'dart:async';
import 'dart:developer';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:equatable/equatable.dart';
import 'package:user_repository/user_repository.dart';
part 'my_user_event.dart';
part 'my_user_state.dart';
class MyUserBloc extends Bloc<MyUserEvent, MyUserState> {
final UserRepository _userRepository;
MyUserBloc({required UserRepository myUserRepository})
: _userRepository = myUserRepository,
super(const MyUserState.loading()) {
_userRepository.streamUser().listen((event) {
if (event == null) {
emit(const MyUserState.failure());
} else {
emit(MyUserState.success(event));
}
});
}
void _onUserChanged(UserChanged event, Emitter<MyUserState> emit) {
log('UserChanged: ${event.user}');
if (event.user == null) {
log('UserChanged: ${event.user}');
emit(const MyUserState.failure());
} else {
log('UserChanged: ${event.user}');
emit(MyUserState.success(event.user!));
}
}
}