refactor: update navigation to use push/pop and add conditional dashboard redirection for agents

This commit is contained in:
pradeepkumar
2026-03-31 19:36:30 +05:30
parent 548c822f89
commit 8a982bdf3d
4 changed files with 22 additions and 7 deletions

View File

@@ -847,7 +847,9 @@ class AboutScreen extends ConsumerWidget {
),
alignment: Alignment.center,
child: Text(
cta.buttonText,
(ref.read(authProvider).user?.role == 'AGENT')
? 'Go to Dashboard'
: cta.buttonText,
style: const TextStyle(
fontFamily: 'Fractul',
fontSize: 16,

View File

@@ -613,8 +613,10 @@ class _ContactScreenState extends State<ContactScreen> {
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Text(
'Start Your Search',
Text(
(ref.read(authProvider).user?.role == 'AGENT')
? 'Go to Dashboard'
: 'Start Your Search',
style: TextStyle(
fontFamily: 'Fractul',
fontSize: 16,

View File

@@ -193,7 +193,13 @@ class _ChatScreenState extends ConsumerState<ChatScreen>
onConfirm: () async {
final notifier = ref.read(messagingProvider.notifier);
await notifier.deleteConversation(widget.conversationId);
if (mounted) context.go('/messages');
if (mounted) {
if (Navigator.of(context).canPop()) {
Navigator.of(context).pop();
} else {
context.go('/messages');
}
}
},
isDanger: true,
);
@@ -266,9 +272,14 @@ class _ChatScreenState extends ConsumerState<ChatScreen>
}
void _handleBack() {
ref.read(messagingProvider.notifier).setActiveConversation(null);
final notifier = ref.read(messagingProvider.notifier);
Future.microtask(() => notifier.setActiveConversation(null));
if (Navigator.of(context).canPop()) {
Navigator.of(context).pop();
} else {
context.go('/messages');
}
}
// ============================================================
// DATE / TIME FORMATTING

View File

@@ -434,7 +434,7 @@ class _ConversationsScreenState extends ConsumerState<ConversationsScreen> {
return _ConversationTile(
conversation: filtered[index],
onTap: () =>
context.go('/messages/chat/${filtered[index].id}'),
context.push('/messages/chat/${filtered[index].id}'),
);
},
),