Files
afterwork/lib/config/router.dart
2024-09-01 04:08:50 +00:00

63 lines
2.2 KiB
Dart

import 'package:flutter/material.dart';
import 'package:afterwork/presentation/screens/login/login_screen.dart';
import 'package:afterwork/presentation/screens/home/home_screen.dart';
import 'package:afterwork/presentation/screens/event/event_screen.dart';
import 'package:afterwork/presentation/screens/story/story_screen.dart';
import 'package:afterwork/presentation/screens/profile/profile_screen.dart';
import 'package:afterwork/presentation/screens/settings/settings_screen.dart';
import 'package:afterwork/data/datasources/event_remote_data_source.dart';
import '../presentation/reservations/reservations_screen.dart';
class AppRouter {
final EventRemoteDataSource eventRemoteDataSource;
final String userId;
final String userName;
final String userLastName;
AppRouter({
required this.eventRemoteDataSource,
required this.userId,
required this.userName,
required this.userLastName,
});
Route<dynamic> generateRoute(RouteSettings settings) {
switch (settings.name) {
case '/':
return MaterialPageRoute(builder: (_) => const LoginScreen());
case '/home':
return MaterialPageRoute(
builder: (_) => HomeScreen(
eventRemoteDataSource: eventRemoteDataSource,
userId: userId,
userName: userName,
userLastName: userLastName,
),
);
case '/event':
return MaterialPageRoute(
builder: (_) => EventScreen(
eventRemoteDataSource: eventRemoteDataSource,
userId: userId,
userName: userName,
userLastName: userLastName,
),
);
case '/story':
return MaterialPageRoute(builder: (_) => const StoryScreen());
case '/profile':
return MaterialPageRoute(builder: (_) => const ProfileScreen());
case '/settings':
return MaterialPageRoute(builder: (_) => const SettingsScreen());
case '/reservations':
return MaterialPageRoute(builder: (_) => const ReservationsScreen());
default:
return MaterialPageRoute(
builder: (_) => const Scaffold(
body: Center(child: Text('Page non trouvée')),
),
);
}
}
}