refactor: update profile navigation to show AgentHomeScreen and restrict app-wide routing to standard user dashboard
This commit is contained in:
@@ -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':
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user