import '../../models/user_model.dart'; /// State untuk provider autentikasi ([authProvider]). /// Merepresentasikan seluruh kemungkinan kondisi autentikasi yang dapat terjadi di aplikasi. sealed class AuthState { const AuthState(); } /// Kondisi awal atau idle, di mana tidak ada aksi autentikasi yang sedang berjalan. class AuthIdle extends AuthState { const AuthIdle(); } /// Kondisi loading, aktif ketika sistem sedang memproses login, pendaftaran akun (register), /// atau pengecekan sesi aktif di latar belakang. class AuthLoading extends AuthState { const AuthLoading(); } /// Kondisi sukses, dipicu ketika pengguna berhasil login atau mendaftar akun. /// Membawa data profil pengguna berupa objek [UserModel]. class AuthSuccess extends AuthState { /// Objek data pengguna yang sedang aktif login. final UserModel user; const AuthSuccess(this.user); } /// Kondisi gagal, dipicu ketika terjadi kesalahan selama proses autentikasi (misal: password salah). /// Membawa pesan kesalahan ([message]) untuk ditampilkan ke antarmuka pengguna (UI). class AuthError extends AuthState { /// Pesan kegagalan/error yang ramah bagi pengguna. final String message; const AuthError(this.message); }