build method

Implementation

@override
Future<AuthState> build() async {
  final client = ref.read(prodobitClientProvider);

  // Initialize the auth service
  await client.auth.initialize();

  // Check if user is already authenticated
  final isAuth = await client.auth.isAuthenticated();
  if (isAuth) {
    try {
      final user = await client.auth.getCurrentUser();
      final tenantId = client.auth.getCurrentTenantId();
      return AuthState.authenticated(user, tenantId);
    } on Exception {
      // Token might be invalid, clear auth
      await client.auth.logout();
    }
  }

  return const AuthState.unauthenticated();
}