import 'package:equatable/equatable.dart'; import 'package:kmobile/data/models/user.dart'; import 'package:kmobile/features/auth/models/auth_token.dart'; abstract class AuthState extends Equatable { const AuthState(); @override List get props => []; } class AuthInitial extends AuthState {} class AuthLoading extends AuthState {} class Authenticated extends AuthState { final List users; const Authenticated(this.users); @override List get props => [users]; } class Unauthenticated extends AuthState {} class AuthError extends AuthState { final String message; const AuthError(this.message); @override List get props => [message]; } // --- New States for Navigation and Dialog --- // State to indicate that the TNC dialog needs to be shown class ShowTncDialog extends AuthState { final AuthToken authToken; final List users; const ShowTncDialog(this.authToken, this.users); @override List get props => [authToken, users]; } // States to trigger specific navigations from the UI class NavigateToTncRequiredScreen extends AuthState {} class NavigateToMpinSetupScreen extends AuthState { final List users; const NavigateToMpinSetupScreen(this.users); @override List get props => [users]; } class NavigateToDashboardScreen extends AuthState {}