import 'package:bloc/bloc.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:remever/common/functions.dart'; import 'package:remever/inject.dart'; import 'package:remever/router.gr.dart'; import 'package:remever/services/auth_interface.dart'; part 'auth_state.dart'; part 'auth_cubit.freezed.dart'; class AuthCubit extends Cubit { AuthCubit() : super(AuthState.initial()); final AuthInterface _authInterface = getIt(); Future toInitialState() async { emit(AuthState.initial()); } Future toEmailState() async { emit(AuthState.email()); } Future toCodeState(String email, String uuid) async { emit(AuthState.code(email, uuid)); } /// Авторизация Future login(String email) async { final String? uuid = await _authInterface.login(email); if (uuid == null) { return; } toCodeState(email, uuid); } Future sendCode(String code, String uid) async { final bool res = await _authInterface.sendCode(code, uid); if (!res) { toInitialState(); return; } globalRouter.replace(CollectionRoute()); } }