app_pages.dart 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import 'package:clean/module/home/home_controller.dart';
  2. import 'package:clean/module/locations_photo/locations_photo_controller.dart';
  3. import 'package:clean/module/locations_photo/locations_photo_view.dart';
  4. import 'package:clean/module/main/main_view.dart';
  5. import 'package:clean/module/photo_preview/photo_preview_controller.dart';
  6. import 'package:clean/module/photo_preview/photo_preview_view.dart';
  7. import 'package:clean/module/photo_info/photo_info_controller.dart';
  8. import 'package:clean/module/privacy/privacy_view.dart';
  9. import 'package:clean/module/people_photo/people_photo_controller.dart';
  10. import 'package:clean/module/people_photo/people_photo_view.dart';
  11. import 'package:clean/module/screenshots_blurry/screenshots_controller.dart';
  12. import 'package:clean/module/screenshots_blurry/screenshots_view.dart';
  13. import 'package:clean/module/similar_photo/similar_photo_controller.dart';
  14. import 'package:clean/module/similar_photo/similar_photo_view.dart';
  15. import 'package:get/get.dart';
  16. import 'package:get/get_core/src/get_main.dart';
  17. import 'package:get/get_instance/src/bindings_interface.dart';
  18. import '../module/main/main_controller.dart';
  19. import '../module/photo_info/photo_info_view.dart';
  20. import '../module/privacy/privacy_controller.dart';
  21. abstract class AppPage {
  22. static final pages = <GetPage>[
  23. ...generalPages,
  24. ];
  25. }
  26. abstract class RoutePath {
  27. static const mainTab = '/mainTab';
  28. static const privacy = '/privacy';
  29. static const peoplePhoto = '/peoplePhoto';
  30. static const similarPhoto = '/similarPhoto';
  31. static const locationsPhoto = '/locationsPhoto';
  32. static const screenshots = '/screenshots';
  33. static const photoInfo = '/photoInfo';
  34. static const photoPreview = '/photoPreview';
  35. }
  36. class AppBinding extends Bindings {
  37. @override
  38. void dependencies() {
  39. lazyPut(() => MainController());
  40. lazyPut(() => HomeController());
  41. lazyPut(() => PrivacyController());
  42. lazyPut(() => PeoplePhotoController());
  43. lazyPut(() => SimilarPhotoController());
  44. lazyPut(() => LocationsPhotoController());
  45. lazyPut(() => ScreenShotsController());
  46. lazyPut(() => PhotoPreviewController());
  47. lazyPut(() => LocationsPhotoPage());
  48. lazyPut(() => PhotoInfoController());
  49. }
  50. void lazyPut<S>(InstanceBuilderCallback<S> builder) {
  51. Get.lazyPut(builder, fenix: true);
  52. }
  53. }
  54. final generalPages = [
  55. GetPage(name: RoutePath.mainTab, page: () => MainTabPage()),
  56. GetPage(name: RoutePath.privacy, page: () => PrivacyPage()),
  57. GetPage(name: RoutePath.peoplePhoto, page: () => PeoplePhotoPage()),
  58. GetPage(name: RoutePath.similarPhoto, page: () => SimilarPhotoPage()),
  59. GetPage(name: RoutePath.locationsPhoto, page: () => LocationsPhotoPage()),
  60. GetPage(name: RoutePath.screenshots, page: () => ScreenshotsPage()),
  61. GetPage(name: RoutePath.photoPreview, page: () => PhotoPreviewPage()),
  62. GetPage(name: RoutePath.photoInfo, page: () => PhotoInfoPage()),
  63. ];