Files
apskel-pos-flutter/lib/presentation/auth/bloc/login/login_bloc.dart
T
2025-07-30 22:38:44 +07:00

30 lines
815 B
Dart

import 'package:bloc/bloc.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:enaklo_pos/data/datasources/auth_remote_datasource.dart';
import 'package:enaklo_pos/data/models/response/auth_response_model.dart';
part 'login_bloc.freezed.dart';
part 'login_event.dart';
part 'login_state.dart';
class LoginBloc extends Bloc<LoginEvent, LoginState> {
final AuthRemoteDatasource authRemoteDatasource;
LoginBloc(
this.authRemoteDatasource,
) : super(const _Initial()) {
on<_Login>((event, emit) async {
emit(const _Loading());
final result = await authRemoteDatasource.login(
event.email,
event.password,
);
result.fold(
(error) => emit(_Error(error)),
(success) => emit(_Success(success)),
);
});
}
}