63 lines
2.2 KiB
Dart
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')),
|
|
),
|
|
);
|
|
}
|
|
}
|
|
}
|