import 'package:freezed_annotation/freezed_annotation.dart'; part 'auth_state.freezed.dart'; /// Authentication state. @freezed class AuthState with _$AuthState { const factory AuthState({ @Default(false) bool isAuthenticated, String? accessToken, String? refreshToken, DateTime? expiresAt, String? userId, String? userName, String? userEmail, }) = _AuthState; const AuthState._(); /// Check if token is expired or will expire soon. bool get isTokenExpired { if (expiresAt == null) return true; // Consider expired if less than 1 minute remaining return DateTime.now().isAfter(expiresAt!.subtract(const Duration(minutes: 1))); } }