deps_impl.dart 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import 'package:app_flowy/home/presentation/home_screen.dart';
  2. import 'package:app_flowy/welcome/application/welcome_bloc.dart';
  3. import 'package:app_flowy/welcome/domain/auth_state.dart';
  4. import 'package:app_flowy/welcome/domain/deps.dart';
  5. import 'package:flutter/widgets.dart';
  6. import 'package:get_it/get_it.dart';
  7. import 'package:time/time.dart';
  8. class Welcome {
  9. static Future<void> dependencyResolved(GetIt getIt) async {
  10. getIt.registerFactory<IWelcomeAuth>(() => AuthCheck());
  11. getIt.registerFactory<IWelcomeRoute>(() => WelcomeRoute());
  12. getIt
  13. .registerFactory<WelcomeBloc>(() => WelcomeBloc(getIt<IWelcomeAuth>()));
  14. }
  15. }
  16. class AuthCheck implements IWelcomeAuth {
  17. @override
  18. Future<AuthState> getAuthState() async {
  19. return Future<AuthState>.delayed(3.0.seconds, () {
  20. return const AuthState.authenticated();
  21. });
  22. }
  23. }
  24. class WelcomeRoute implements IWelcomeRoute {
  25. @override
  26. Widget home() {
  27. return const HomeScreen();
  28. }
  29. @override
  30. Widget signIn() {
  31. return Container();
  32. }
  33. }