50 lines
1.8 KiB
Dart
50 lines
1.8 KiB
Dart
import 'package:equatable/equatable.dart';
|
|
import '../../data/models/user_model.dart';
|
|
|
|
abstract class AuthState extends Equatable {
|
|
const AuthState();
|
|
|
|
@override
|
|
List<Object?> get props => [];
|
|
}
|
|
|
|
// English: Initial state when the app is checking for existing authentication tokens.
|
|
// Arabic: الحالة الأولية عندما يقوم التطبيق بالتحقق من وجود رموز مصادقة حالية.
|
|
class AuthInitial extends AuthState {
|
|
const AuthInitial();
|
|
}
|
|
|
|
// English: Loading state shown during credential verification or API login request.
|
|
// Arabic: حالة التحميل المعروضة أثناء التحقق من بيانات الاعتماد أو طلب تسجيل الدخول.
|
|
class AuthLoading extends AuthState {
|
|
const AuthLoading();
|
|
}
|
|
|
|
// English: State emitted when the user successfully authenticates. Contains user details.
|
|
// Arabic: الحالة المرسلة عندما ينجح المستخدم في المصادقة. تحتوي على تفاصيل المستخدم.
|
|
class Authenticated extends AuthState {
|
|
final UserModel user;
|
|
|
|
const Authenticated(this.user);
|
|
|
|
@override
|
|
List<Object?> get props => [user];
|
|
}
|
|
|
|
// English: State emitted when the user is not authenticated or has logged out.
|
|
// Arabic: الحالة المرسلة عندما لا يكون المستخدم مصدقًا أو قد سجل خروجه.
|
|
class Unauthenticated extends AuthState {
|
|
const Unauthenticated();
|
|
}
|
|
|
|
// English: Failure state containing the error message in case authentication fails.
|
|
// Arabic: حالة الفشل التي تحتوي على رسالة الخطأ في حالة فشل المصادقة.
|
|
class AuthFailure extends AuthState {
|
|
final String errorMessage;
|
|
|
|
const AuthFailure(this.errorMessage);
|
|
|
|
@override
|
|
List<Object?> get props => [errorMessage];
|
|
}
|