TKK_E32230206/lib/features/auth/auth_state.dart

35 lines
1.2 KiB
Dart

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