From 9c79c05c52e2df9a140830cdedb21900f48bd53f Mon Sep 17 00:00:00 2001 From: pradeepkumar Date: Thu, 9 Apr 2026 22:08:24 +0530 Subject: [PATCH] refactor: update contact email and phone priority logic in agent detail provider to match web implementation --- .../providers/agent_detail_provider.dart | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/lib/features/agents/presentation/providers/agent_detail_provider.dart b/lib/features/agents/presentation/providers/agent_detail_provider.dart index 03934e6..ceaaaba 100644 --- a/lib/features/agents/presentation/providers/agent_detail_provider.dart +++ b/lib/features/agents/presentation/providers/agent_detail_provider.dart @@ -245,20 +245,29 @@ class AgentDetailState { // ── Contact info (masked) ── + /// Contact email — matches web priority: agentProfile.email first, + /// then user login email, then dynamic field values as fallback. String? get contactEmail { - final val = _getFieldValue('email') ?? - _getFieldValue('email_address') ?? - agent?.email ?? - agent?.user?.email; + final profileEmail = agent?.email; + if (profileEmail != null && profileEmail.isNotEmpty) return profileEmail; + + final userEmail = agent?.user?.email; + if (userEmail != null && userEmail.isNotEmpty) return userEmail; + + final val = _getFieldValue('email') ?? _getFieldValue('email_address'); return val?.toString(); } + /// Contact phone — matches web priority: agentProfile.phone first, + /// then dynamic field values as fallback. String? get contactPhone { + final profilePhone = agent?.phone; + if (profilePhone != null && profilePhone.isNotEmpty) return profilePhone; + final val = _getFieldValue('phone_number') ?? _getFieldValue('phone') ?? _getFieldValue('cell_number') ?? - _getFieldValue('office_number') ?? - agent?.phone; + _getFieldValue('office_number'); return val?.toString(); }