refactor: improve specialization card layout and unify chat screen header and navigation with home screen components.

This commit is contained in:
pradeepkumar
2026-03-08 02:01:03 +05:30
parent bba9cd3936
commit 219acfc013
14 changed files with 2498 additions and 236 deletions

View File

@@ -10,6 +10,9 @@ 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/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/messaging_shell.dart';
import 'package:real_estate_mobile/features/contact/presentation/screens/contact_screen.dart';
import 'package:real_estate_mobile/features/profile/presentation/screens/profile_settings_screen.dart';
final routerProvider = Provider<GoRouter>((ref) {
final authRefreshNotifier = _AuthRefreshNotifier();
@@ -23,7 +26,7 @@ final routerProvider = Provider<GoRouter>((ref) {
});
// Public routes accessible without authentication (matching web middleware)
const publicRoutes = ['/home', '/agents/search', '/agents/detail', '/faq'];
const publicRoutes = ['/home', '/agents/search', '/agents/detail', '/faq', '/contact'];
const authRoutes = ['/login', '/signup'];
return GoRouter(
@@ -81,21 +84,34 @@ final routerProvider = Provider<GoRouter>((ref) {
return AgentDetailScreen(agentId: id);
},
),
GoRoute(
path: '/messages',
builder: (context, state) => const ConversationsScreen(),
),
GoRoute(
path: '/messages/chat/:id',
builder: (context, state) {
final id = state.pathParameters['id']!;
return ChatScreen(conversationId: id);
},
ShellRoute(
builder: (context, state, child) => MessagingShell(child: child),
routes: [
GoRoute(
path: '/messages',
builder: (context, state) => const ConversationsScreen(),
),
GoRoute(
path: '/messages/chat/:id',
builder: (context, state) {
final id = state.pathParameters['id']!;
return ChatScreen(conversationId: id);
},
),
],
),
GoRoute(
path: '/faq',
builder: (context, state) => const FaqScreen(),
),
GoRoute(
path: '/contact',
builder: (context, state) => const ContactScreen(),
),
GoRoute(
path: '/profile',
builder: (context, state) => const ProfileSettingsScreen(),
),
],
);
});