Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 
 
 

162 rindas
5.1 KiB

  1. import 'package:flutter/material.dart';
  2. import 'package:go_router/go_router.dart';
  3. import 'package:provider/provider.dart';
  4. import 'package:qadirneyriz/drawer_navigation_bar.dart';
  5. import 'package:qadirneyriz/models/meetings/meetings_model.dart';
  6. import 'package:qadirneyriz/models/private_meeting/private_meetings_model.dart';
  7. // import 'package:qadirneyriz/models/meetings/meetings_model.dart';
  8. import 'package:qadirneyriz/screens/auth/login_screen.dart';
  9. import 'package:qadirneyriz/screens/auth/login_with_otp_screen.dart';
  10. import 'package:qadirneyriz/screens/auth/otp_screen.dart';
  11. import 'package:qadirneyriz/screens/home/screen.dart';
  12. import 'package:qadirneyriz/screens/meeting/screen.dart';
  13. import 'package:qadirneyriz/screens/meeting_add/screen.dart';
  14. import 'package:qadirneyriz/screens/meeting_add/state.dart';
  15. import 'package:qadirneyriz/screens/meeting_edit/screen.dart';
  16. import 'package:qadirneyriz/screens/meeting_edit/state.dart';
  17. import 'package:qadirneyriz/screens/meeting_summary/screen.dart';
  18. import 'package:qadirneyriz/screens/meeting_summary/state.dart';
  19. import 'package:qadirneyriz/screens/private_meeting_add/screen.dart';
  20. import 'package:qadirneyriz/screens/private_meeting_add/state.dart';
  21. import 'package:qadirneyriz/screens/private_meeting_edit/screen.dart';
  22. import 'package:qadirneyriz/screens/private_meeting_edit/state.dart';
  23. import 'package:qadirneyriz/screens/private_meeting_summary/screen.dart';
  24. import 'package:qadirneyriz/screens/private_meeting_summary/state.dart';
  25. import 'package:qadirneyriz/screens/report/screen.dart';
  26. import 'package:qadirneyriz/screens/report/state.dart';
  27. import 'package:qadirneyriz/splash_screen.dart';
  28. final GoRouter router = GoRouter(
  29. initialLocation: '/route',
  30. routes: <GoRoute>[
  31. GoRoute(
  32. path: '/navigate/:tab',
  33. name: 'navigate',
  34. builder: (context, state) {
  35. return CustomDrawerNavigation(
  36. activeTab: int.parse(state.pathParameters["tab"]!),
  37. );
  38. },
  39. ),
  40. GoRoute(
  41. path: '/home',
  42. name: 'home',
  43. builder: (context, state) {
  44. return const HomeScreen();
  45. },
  46. ),
  47. GoRoute(
  48. path: '/route',
  49. name: 'route',
  50. builder: (BuildContext context, GoRouterState state) {
  51. return const SplashScreen();
  52. },
  53. routes: [
  54. GoRoute(
  55. path: 'login',
  56. name: 'login',
  57. builder: (context, state) {
  58. return const LoginScreen();
  59. },
  60. ),
  61. GoRoute(
  62. path: 'loginotp',
  63. name: 'loginotp',
  64. builder: (context, state) {
  65. return const LoginWithOtpScreen();
  66. },
  67. ),
  68. GoRoute(
  69. path: 'otp/:phonenumber',
  70. name: 'otp',
  71. builder: (context, state) {
  72. return OtpScreen(
  73. phoneNumber: state.pathParameters['phonenumber']!,
  74. );
  75. },
  76. ),
  77. ]),
  78. GoRoute(
  79. path: '/meetingedit/:id',
  80. name: 'meetingedit',
  81. builder: (context, state) {
  82. return ChangeNotifierProvider(
  83. child: MeetingEditScreen(
  84. id: int.parse(state.pathParameters['id']!),
  85. ),
  86. create: (context) => MeetingEditState(),
  87. );
  88. },
  89. ),
  90. GoRoute(
  91. path: '/meetingadd',
  92. name: 'meetingadd',
  93. builder: (context, state) {
  94. return ChangeNotifierProvider(
  95. child: MeetingAddScreen(),
  96. create: (context) => MeetinAddState(),
  97. );
  98. },
  99. ),
  100. GoRoute(
  101. path: '/meetinsammary',
  102. name: 'meetinsammary',
  103. builder: (context, state) {
  104. Datum meetingData = state.extra as Datum;
  105. return ChangeNotifierProvider(
  106. create: (context) => MeetingSummaryState(),
  107. child: MeetingSummaryScreen(
  108. meetingItem: meetingData,
  109. ),
  110. );
  111. },
  112. ),
  113. GoRoute(
  114. path: '/privatemeetingadd',
  115. name: 'privatemeetingadd',
  116. builder: (context, state) {
  117. return ChangeNotifierProvider(
  118. child: PrivateMeetingAddScreen(),
  119. create: (context) => PrivateMeetingAddState(),
  120. );
  121. },
  122. ),
  123. GoRoute(
  124. path: '/privatemeetingedit/:id',
  125. name: 'privatemeetingedit',
  126. builder: (context, state) {
  127. return ChangeNotifierProvider(
  128. child: EditPrivateMeetingScreen(
  129. id: int.parse(state.pathParameters['id']!),
  130. ),
  131. create: (context) => EditPrivateMeetingState(),
  132. );
  133. },
  134. ),
  135. GoRoute(
  136. path: '/privatemeetinsammary',
  137. name: 'privatemeetinsammary',
  138. builder: (context, state) {
  139. DatumInPrivateMeeting meetingData =
  140. state.extra as DatumInPrivateMeeting;
  141. return ChangeNotifierProvider(
  142. create: (context) => PrivateMeetingSummaryState(),
  143. child: PrivateMeetingSummaryScreen(
  144. itemInPrivateMeeting: meetingData,
  145. ),
  146. );
  147. },
  148. ),
  149. GoRoute(
  150. path: '/report',
  151. name: 'report',
  152. builder: (context, state) {
  153. return ChangeNotifierProvider(
  154. create: (context) => ReportState(),
  155. child: ReportScreen(),
  156. );
  157. },
  158. ),
  159. ],
  160. );