router.dart 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import 'package:app_flowy/startup/startup.dart';
  2. import 'package:app_flowy/user/domain/i_splash.dart';
  3. import 'package:app_flowy/user/presentation/sign_up_screen.dart';
  4. import 'package:app_flowy/workspace/presentation/home/home_screen.dart';
  5. import 'package:flowy_infra/time/duration.dart';
  6. import 'package:flowy_infra_ui/widget/route/animation.dart';
  7. import 'package:flowy_sdk/protobuf/flowy-user-data-model/protobuf.dart' show UserProfile;
  8. import 'package:flowy_sdk/protobuf/flowy-folder-data-model/protobuf.dart';
  9. import 'package:flutter/material.dart';
  10. class AuthRouter {
  11. @override
  12. void pushForgetPasswordScreen(BuildContext context) {
  13. // TODO: implement showForgetPasswordScreen
  14. }
  15. void pushWelcomeScreen(BuildContext context, UserProfile userProfile) {
  16. getIt<ISplashRoute>().pushWelcomeScreen(context, userProfile);
  17. }
  18. void pushSignUpScreen(BuildContext context) {
  19. Navigator.of(context).push(
  20. PageRoutes.fade(
  21. () => SignUpScreen(router: getIt<AuthRouter>()),
  22. ),
  23. );
  24. }
  25. void pushHomeScreen(BuildContext context, UserProfile profile, CurrentWorkspaceSetting workspaceSetting) {
  26. Navigator.push(
  27. context,
  28. PageRoutes.fade(() => HomeScreen(profile, workspaceSetting), RouteDurations.slow.inMilliseconds * .001),
  29. );
  30. }
  31. }