feat: Implement messaging functionality with conversation and chat screens, and enhance agent detail views.
This commit is contained in:
@@ -4,9 +4,12 @@ import 'package:go_router/go_router.dart';
|
||||
import 'package:real_estate_mobile/features/auth/presentation/providers/auth_provider.dart';
|
||||
import 'package:real_estate_mobile/features/auth/presentation/screens/login_screen.dart';
|
||||
import 'package:real_estate_mobile/features/auth/presentation/screens/signup_screen.dart';
|
||||
import 'package:real_estate_mobile/features/agents/presentation/screens/agent_detail_screen.dart';
|
||||
import 'package:real_estate_mobile/features/agents/presentation/screens/agent_search_screen.dart';
|
||||
import 'package:real_estate_mobile/features/faq/presentation/screens/faq_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/chat_screen.dart';
|
||||
|
||||
final routerProvider = Provider<GoRouter>((ref) {
|
||||
final authRefreshNotifier = _AuthRefreshNotifier();
|
||||
@@ -20,7 +23,7 @@ final routerProvider = Provider<GoRouter>((ref) {
|
||||
});
|
||||
|
||||
// Public routes accessible without authentication (matching web middleware)
|
||||
const publicRoutes = ['/home', '/agents/search', '/faq'];
|
||||
const publicRoutes = ['/home', '/agents/search', '/agents/detail', '/faq'];
|
||||
const authRoutes = ['/login', '/signup'];
|
||||
|
||||
return GoRouter(
|
||||
@@ -71,6 +74,24 @@ final routerProvider = Provider<GoRouter>((ref) {
|
||||
return AgentSearchScreen(initialQuery: query);
|
||||
},
|
||||
),
|
||||
GoRoute(
|
||||
path: '/agents/detail/:id',
|
||||
builder: (context, state) {
|
||||
final id = state.pathParameters['id']!;
|
||||
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);
|
||||
},
|
||||
),
|
||||
GoRoute(
|
||||
path: '/faq',
|
||||
builder: (context, state) => const FaqScreen(),
|
||||
|
||||
Reference in New Issue
Block a user