1import 'package:go_router/go_router.dart';
3import '../../features/auth/presentation/screens/check_in/check_in_screen.dart';
4import '../../features/collections/presentation/screens/collection_request_confirmation/collection_request_confirmation_screen.dart';
5import '../../features/collections/presentation/screens/collection_request_details/collection_request_details_screen.dart';
6import '../../features/collections/presentation/screens/collection_request_information/collection_request_information.dart';
7import '../../features/collections/presentation/screens/collection_request_payment/collection_request_payment_screen.dart';
8import '../../features/collections/presentation/screens/collection_request_success/collection_request_success_screen.dart';
9import '../../features/collections/presentation/screens/end_location_chooser/end_location_chooser_screen.dart';
10import '../../features/collections/presentation/screens/planning_screen/weekly_collections_screen.dart';
11import '../../features/collections/presentation/screens/start_location_screen/start_location_screen.dart';
12import '../../features/collections/presentation/screens/today_schedule_screen/today_schedule_screen.dart';
13import '../../features/collections/presentation/screens/schedule_confirmation/schedule_confirmation_screen.dart';
14import '../../features/auth/presentation/screens/signin_screen/sign_in_screen.dart';
15import '../../features/e-learning/presentation/screens/course_detail_screen.dart';
16import '../../features/e-learning/presentation/screens/elearning_screen.dart';
17import '../../features/e-learning/presentation/screens/pdf_viewer_screen.dart';
18import '../../features/history/presentation/screens/transactions_history/transactions_history_screen.dart';
19import '../../features/home/presentation/screens/home_screen.dart';
20import '../../features/notifications/presentation/screens/notifications_screen/notifications_screen.dart';
21import '../../features/settings/documents_screen.dart';
22import '../../features/settings/settings_screen.dart';
23import '../../features/settings/vehicle_documents_screen.dart';
24import '../../features/unloading/presentation/screens/unloading_screen.dart';
25import '../../features/wallet/wallet_screen.dart';
26import '../../mocked_screens/presentation/driver_requests/driver_requests.dart';
27import '../ui/screens/animated_splash_screen.dart';
28import '../../features/dashboard/presentation/screens/dashboard_screen.dart';
59extension RoutesExtension on
Routes {
71 return '/today-schedule';
75 return '/collection-request-details';
76 case Routes.transactionsHistoryScreen:
77 return '/transactions-history';
81 return '/notifications';
83 return '/vehicle-documents';
84 case Routes.collectionRequestInformationScreen:
85 return '/collection-request-information';
90 case Routes.collectionRequestConfirmationScreen:
91 return '/collection-request-confirmation';
92 case Routes.collectionRequestPaymentScreen:
93 return '/collection-request-payment';
94 case Routes.collectionRequestSuccessScreen:
95 return '/collection-request-success';
96 case Routes.unloadingScreen:
98 case Routes.documentsScreen:
100 case Routes.pdfViewerScreen:
101 return '/pdf-viewer';
102 case Routes.courseDetailsScreen:
103 return '/courseDetailsScreen';
104 case Routes.endLocationChooserScreen:
105 return '/end-location-chooser';
106 case Routes.startLocationChooserScreen:
107 return '/start-location-chooser';
108 case Routes.weeklyCollectionsScreen:
109 return '/weekly-collections';
110 case Routes.driverRequestsScreen:
111 return '/driver-requests';
112 case Routes.scheduleConfirmationScreen:
113 return '/schedule-confirmation';
118extension BuildRoutes on
Routes {
125 builder: (context, state) =>
const AnimatedSplashScreen(),
131 builder: (context, state) =>
const SignInScreen(),
137 builder: (context, state) =>
const HomeScreen(),
139 case Routes.dashboardScreen:
143 builder: (context, state) =>
const DashboardScreen(),
145 case Routes.todayScheduleScreen:
147 name:
'Today schedule',
149 builder: (context, state) =>
const TodayScheduleScreen(),
151 case Routes.settingsScreen:
155 builder: (context, state) =>
const ProfileSettingsScreen(),
157 case Routes.collectionDetailsScreen:
159 name:
'Collection details',
161 builder: (context, state) =>
162 CollectionRequestDetailsScreen(state: state),
164 case Routes.transactionsHistoryScreen:
166 name:
'Transactions history',
168 builder: (context, state) =>
const TransactionsHistoryScreen(),
170 case Routes.checkInScreen:
174 builder: (context, state) =>
const CheckInScreen(),
176 case Routes.notificationsScreen:
178 name:
'Notifications',
182 case Routes.vehicleDocumentsScreen:
184 name:
'Vehicle documents',
186 builder: (context, state) =>
const VehicleDocumentsScreen(),
188 case Routes.collectionRequestInformationScreen:
190 name:
'Collection request information',
192 builder: (context, state) =>
193 CollectionRequestInformationScreen(state: state),
205 builder: (context, state) =>
const WalletScreen(),
207 case Routes.collectionRequestConfirmationScreen:
209 name:
'Collection request confirmation',
211 builder: (context, state) =>
212 CollectionRequestConfirmationScreen(state: state),
214 case Routes.collectionRequestPaymentScreen:
216 name:
'Collection request payment',
218 builder: (context, state) =>
219 CollectionRequestPaymentScreen(state: state),
221 case Routes.collectionRequestSuccessScreen:
223 name:
'Collection request success',
225 builder: (context, state) =>
const CollectionRequestSuccessScreen(),
227 case Routes.unloadingScreen:
231 builder: (context, state) =>
const UnloadingScreen(),
233 case Routes.documentsScreen:
237 builder: (context, state) =>
const DocumentsScreen(),
239 case Routes.pdfViewerScreen:
243 builder: (context, state) {
244 final Map<String, dynamic> params =
245 state.extra as Map<String, dynamic>;
246 return PdfViewerScreen(
248 courseId: params[
'courseId'] as
int,
249 onComplete: params[
'onComplete'] as
void Function(
double),
253 case Routes.courseDetailsScreen:
255 name:
'Course details',
261 case Routes.endLocationChooserScreen:
263 name:
'End location chooser',
265 builder: (context, state) =>
const EndLocationChooserScreen(),
267 case Routes.startLocationChooserScreen:
269 name:
'Start location chooser',
271 builder: (context, state) =>
const StartLocationScreen(),
273 case Routes.weeklyCollectionsScreen:
275 name:
'Weekly collections',
277 builder: (context, state) =>
const WeeklyCollectionsScreen(),
279 case Routes.driverRequestsScreen:
281 name:
'Driver requests',
283 builder: (context, state) =>
const DriverRequestsScreen(),
285 case Routes.scheduleConfirmationScreen:
287 name:
'Schedule confirmation',
289 builder: (context, state) =>
const ScheduleConfirmationScreen(),
class App extends StatefulWidget build(BuildContext context)
final Function(int) onReasonSelected
const CourseDetailScreen({ super.key, required this.courseId, })
String get(String locale)
const ElearningScreen({super.key})
class GetPdfPathUseCase implements UseCase< String, PdfParams > courseId
const NotificationsScreen({super.key})
collectionRequestSuccessScreen
collectionRequestInformationScreen
collectionRequestConfirmationScreen
startLocationChooserScreen
collectionRequestPaymentScreen
transactionsHistoryScreen
scheduleConfirmationScreen