// lib/presentation/bloc/auth/auth_bloc.dart import 'package:equatable/equatable.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; part 'auth_event.dart'; part 'auth_state.dart'; class AuthBloc extends Bloc { AuthBloc() : super(AuthInitial()) { // مدیریت رویداد ارسال کد on((event, emit) async { emit(AuthLoading()); await Future.delayed(const Duration(seconds: 2)); if (event.phoneNumber.endsWith('0000')) { emit(const AuthFailure('شماره وارد شده نامعتبر است.')); } else { emit(AuthCodeSentSuccess()); } }); // مدیریت رویداد تایید کد on((event, emit) async { emit(AuthLoading()); await Future.delayed(const Duration(seconds: 2)); if (event.otpCode == '12345') { // یک کد جادویی برای تست emit(AuthVerified()); } else { emit(const AuthFailure('کد وارد شده صحیح نمی‌باشد.')); } }); on((event, emit) async { emit(AuthLoading()); await Future.delayed(const Duration(seconds: 2)); // در اینجا منطق واقعی ذخیره در سرور یا دیتابیس قرار میگیرد print('User Info Saved: Name=${event.name}, Gender=${event.gender}'); emit(UserInfoUpdateSuccess()); }); } }