You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.5 KiB

2 years ago
  1. import 'package:itasmob/app/di.dart';
  2. import 'package:itasmob/presentation/details/details.dart';
  3. import 'package:itasmob/presentation/home/index.dart';
  4. import 'package:itasmob/presentation/login/login.dart';
  5. import 'package:itasmob/presentation/register/register.dart';
  6. import 'package:itasmob/presentation/splash/splash.dart';
  7. import 'package:flutter/cupertino.dart';
  8. import 'package:flutter/material.dart';
  9. class Routes{
  10. static const String splashRoute = "/splash";
  11. static const String loginRoute = "/login";
  12. static const String registerRoute = "/register";
  13. static const String homeRoute = "/home";
  14. static const String detailsRoute = "/details";
  15. }
  16. class RouteGenerator{
  17. static Route<dynamic> getRoute (RouteSettings routeSettings){
  18. switch (routeSettings.name){
  19. case Routes.splashRoute :
  20. return MaterialPageRoute(builder: (_) => const SplashView());
  21. case Routes.registerRoute :
  22. return MaterialPageRoute(builder: (_) => const RegisterView());
  23. case Routes.loginRoute :
  24. return MaterialPageRoute(builder: (_) => const LoginView());
  25. case Routes.homeRoute :
  26. initHomeModule();
  27. return MaterialPageRoute(builder: (_) => const HomeView());
  28. case Routes.detailsRoute :
  29. return MaterialPageRoute(builder: (_) => const DetailsView());
  30. default :
  31. return unDefinedRoute();
  32. }
  33. }
  34. static Route<dynamic> unDefinedRoute(){
  35. return MaterialPageRoute(builder: (ctx) => const Scaffold(
  36. body: Center(
  37. child: Text("This route is not found!"),
  38. ),
  39. ));
  40. }
  41. }