import 'package:go_router/go_router.dart'; import '/screens/avatar_view/avatar_view_screen.dart'; import '/screens/my_profile/change_profile_screen/change_account_screen.dart'; import '/screens/my_profile/change_profile_screen/change_my_avatar_screen.dart'; import '/screens/contact_add/invite_group_chat_member_screen.dart'; import '/screens/group_chat_profile/change_group_chat_screen/change_group_chat_avatar_screen.dart'; import '/screens/group_chat_profile/change_group_chat_screen/change_group_chat_intro_screen.dart'; import '/screens/group_chat_profile/change_group_chat_screen/change_group_chat_name_screen.dart'; import '/screens/group_chat_profile/change_group_chat_screen/change_group_chat_remark_screen.dart'; import '/screens/group_chat_profile/change_group_chat_screen/change_my_remark_screen.dart'; import '/screens/group_chat_profile/group_chat_outline_screen/group_chat_outline_screen.dart'; import '/screens/group_chat_profile/group_chat_profile_screen.dart'; import '/screens/my_profile/change_profile_screen/change_basic_screen.dart'; import '/screens/my_profile/my_profile_screen.dart'; import '/screens/friend_profile/friend_profile_screen.dart'; import '/screens/friend_profile/friend_setting_screen/friend_setting_screen.dart'; import 'router_key.dart'; final myProfileRoute = GoRoute( path: '/my_profile', name: 'MyProfile', parentNavigatorKey: rootNavigatorKey, builder: (context, state) { return const MyProfileScreen(); }, routes: [ GoRoute( path: 'avatar', name: 'MyAvatar', parentNavigatorKey: rootNavigatorKey, builder: (context, state) { return AvatarViewScreen( isMyself: true, avatarType: AvatarType.user, avatar: state.uri.queryParameters['avatar']!, ); }, ), GoRoute( path: 'change_avatar', name: 'ChangeMyAvatar', parentNavigatorKey: rootNavigatorKey, builder: (context, state) { return const ChangeMyAvatarScreen(); }, ), GoRoute( path: 'change_basic', name: 'ChangeBasic', parentNavigatorKey: rootNavigatorKey, builder: (context, state) { return const ChangeBasicScreen(); }, ), GoRoute( path: 'change_Account', name: 'ChangeAccount', parentNavigatorKey: rootNavigatorKey, builder: (context, state) { return const ChangeAccountScreen(); }, ), ], ); final friendProfileRoute = GoRoute( path: '/friend_profile', name: 'FriendProfile', parentNavigatorKey: rootNavigatorKey, builder: (context, state) { return FriendProfileScreen( friendId: state.uri.queryParameters['friendId']!, ); }, routes: [ GoRoute( path: 'avatar', name: 'FriendAvatar', parentNavigatorKey: rootNavigatorKey, builder: (context, state) { return AvatarViewScreen( isMyself: false, avatarType: AvatarType.user, avatar: state.uri.queryParameters['avatar']!, ); }, ), GoRoute( path: 'setting', name: 'FriendSetting', parentNavigatorKey: rootNavigatorKey, builder: (context, state) { return FriendSettingScreen( friendId: state.uri.queryParameters['friendId']!, ); }, ), ], ); final groupChatProfileRoute = GoRoute( path: '/group_chat_profile', name: 'GroupChatProfile', parentNavigatorKey: rootNavigatorKey, builder: (context, state) { return GroupChatProfileScreen( groupChatId: state.uri.queryParameters['groupChatId']!, ); }, routes: [ GoRoute( path: 'outline', name: 'GroupChatOutline', parentNavigatorKey: rootNavigatorKey, builder: (context, state) { return GroupChatOutlineScreen( groupChatId: state.uri.queryParameters['groupChatId']!, ); }, ), GoRoute( path: 'invite_member', name: 'InviteGroupChatMember', parentNavigatorKey: rootNavigatorKey, builder: (context, state) { return InviteGroupChatMemberScreen( groupChatId: state.uri.queryParameters['groupChatId']!, ); }, ), GoRoute( path: 'change_avatar', name: 'ChangeGroupChatAvatar', parentNavigatorKey: rootNavigatorKey, builder: (context, state) { return ChangeGroupChatAvatarScreen( groupChatId: state.uri.queryParameters['groupChatId']!, ); }, ), GoRoute( path: 'change_name', name: 'ChangeGroupChatName', parentNavigatorKey: rootNavigatorKey, builder: (context, state) { return ChangeGroupChatNameScreen( groupChatId: state.uri.queryParameters['groupChatId']!, name: state.uri.queryParameters['name']!, ); }, ), GoRoute( path: 'change_intro', name: 'ChangeGroupChatIntro', parentNavigatorKey: rootNavigatorKey, builder: (context, state) { return ChangeGroupChatIntroScreen( groupChatId: state.uri.queryParameters['groupChatId']!, intro: state.uri.queryParameters['intro']!, ); }, ), GoRoute( path: 'change_remark', name: 'ChangeGroupChatRemark', parentNavigatorKey: rootNavigatorKey, builder: (context, state) { return ChangeGroupChatRemarkScreen( groupChatId: state.uri.queryParameters['groupChatId']!, nameRemark: state.uri.queryParameters['groupChatRemark']!, ); }, ), GoRoute( path: 'change_my_remark', name: 'ChangeMyRemark', parentNavigatorKey: rootNavigatorKey, builder: (context, state) { return ChangeMyRemarkScreen( groupChatId: state.uri.queryParameters['groupChatId']!, myRemark: state.uri.queryParameters['remarkInGroupChat']!, ); }, ), ], );