Files
2026-05-24 23:27:32 +03:00

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];
}