Files
forkmessager/client-mobile/lib/features/auth/presentation/bloc/auth_bloc.dart
T

37 lines
1.3 KiB
Dart

import 'package:flutter_bloc/flutter_bloc.dart';
import 'auth_event.dart';
import 'auth_state.dart';
class AuthBloc extends Bloc<AuthEvent, AuthState> {
AuthBloc() : super(const AuthState.initial()) {
on<AuthEventStarted>(_onStarted);
on<AuthEventLoginRequested>(_onLoginRequested);
on<AuthEventRegisterRequested>(_onRegisterRequested);
on<AuthEventLogoutRequested>(_onLogoutRequested);
on<AuthEventAuthChecked>(_onAuthChecked);
on<AuthEventEmailChanged>(_onEmailChanged);
on<AuthEventPasswordChanged>(_onPasswordChanged);
on<AuthEventNameChanged>(_onNameChanged);
}
Future<void> _onStarted(AuthEventStarted event, emit) async {}
Future<void> _onLoginRequested(AuthEventLoginRequested event, emit) async {
emit(const AuthState.loading());
emit(const AuthState.authenticated('user_123'));
}
Future<void> _onRegisterRequested(AuthEventRegisterRequested event, emit) async {
emit(const AuthState.loading());
}
Future<void> _onLogoutRequested(AuthEventLogoutRequested event, emit) async {
emit(const AuthState.unauthenticated());
}
Future<void> _onAuthChecked(AuthEventAuthChecked event, emit) async {}
void _onEmailChanged(AuthEventEmailChanged event, emit) {}
void _onPasswordChanged(AuthEventPasswordChanged event, emit) {}
void _onNameChanged(AuthEventNameChanged event, emit) {}
}