refactor: update profile navigation to show AgentHomeScreen and restrict app-wide routing to standard user dashboard

This commit is contained in:
pradeepkumar
2026-04-30 14:18:56 +05:30
parent 004e3caa6e
commit c6b96e19dc
2 changed files with 6 additions and 10 deletions

View File

@@ -1,7 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:real_estate_mobile/core/constants/app_colors.dart'; import 'package:real_estate_mobile/core/constants/app_colors.dart';
import 'package:real_estate_mobile/features/agents/presentation/screens/agent_edit_profile_screen.dart'; import 'package:real_estate_mobile/features/agents/presentation/screens/agent_home_screen.dart';
import 'package:real_estate_mobile/features/profile/presentation/providers/profile_provider.dart'; import 'package:real_estate_mobile/features/profile/presentation/providers/profile_provider.dart';
import 'package:real_estate_mobile/features/profile/presentation/widgets/profile_settings_tab.dart'; import 'package:real_estate_mobile/features/profile/presentation/widgets/profile_settings_tab.dart';
import 'package:real_estate_mobile/features/profile/presentation/widgets/change_password_tab.dart'; import 'package:real_estate_mobile/features/profile/presentation/widgets/change_password_tab.dart';
@@ -90,7 +90,7 @@ class _ProfileSettingsScreenState extends ConsumerState<ProfileSettingsScreen> {
final label = tabs[selectedTab].label; final label = tabs[selectedTab].label;
switch (label) { switch (label) {
case 'Edit Profile': case 'Edit Profile':
return const AgentEditProfileScreen(embedded: true); return const AgentHomeScreen();
case 'Profile Settings': case 'Profile Settings':
return const ProfileSettingsTab(); return const ProfileSettingsTab();
case 'Change Password': case 'Change Password':

View File

@@ -14,7 +14,6 @@ import 'package:real_estate_mobile/features/faq/presentation/screens/faq_screen.
import 'package:real_estate_mobile/features/home/presentation/screens/home_screen.dart'; import 'package:real_estate_mobile/features/home/presentation/screens/home_screen.dart';
import 'package:real_estate_mobile/features/messaging/presentation/screens/conversations_screen.dart'; import 'package:real_estate_mobile/features/messaging/presentation/screens/conversations_screen.dart';
import 'package:real_estate_mobile/features/messaging/presentation/screens/chat_screen.dart'; import 'package:real_estate_mobile/features/messaging/presentation/screens/chat_screen.dart';
import 'package:real_estate_mobile/features/agents/presentation/screens/agent_home_screen.dart';
import 'package:real_estate_mobile/features/contact/presentation/screens/contact_screen.dart'; import 'package:real_estate_mobile/features/contact/presentation/screens/contact_screen.dart';
import 'package:real_estate_mobile/features/about/presentation/screens/about_screen.dart'; import 'package:real_estate_mobile/features/about/presentation/screens/about_screen.dart';
import 'package:real_estate_mobile/features/agents/presentation/screens/agent_network_screen.dart'; import 'package:real_estate_mobile/features/agents/presentation/screens/agent_network_screen.dart';
@@ -289,9 +288,8 @@ final routerProvider = Provider<GoRouter>((ref) {
); );
}); });
/// Reactively switches between HomeScreen and AgentHomeScreen based on auth. /// Always shows the user HomeScreen for /home. Agents reach their own
/// Shows a loading indicator while auth status is being determined to prevent /// dashboard via the Edit Profile tab in the Profile section.
/// flashing the wrong screen on refresh.
class _HomeRouteWrapper extends ConsumerWidget { class _HomeRouteWrapper extends ConsumerWidget {
const _HomeRouteWrapper(); const _HomeRouteWrapper();
@@ -308,10 +306,8 @@ class _HomeRouteWrapper extends ConsumerWidget {
); );
} }
if (authState.status == AuthStatus.authenticated && // Home icon always shows the User Home Page regardless of role.
authState.user?.role == 'AGENT') { // Agents access their own dashboard via the Edit Profile tab in /profile.
return const AgentHomeScreen();
}
return const HomeScreen(); return const HomeScreen();
} }
} }