import 'package:bloc/bloc.dart'; import 'package:flutter/cupertino.dart'; import 'package:go_router/go_router.dart'; import 'package:hadi_hoda_flutter/common_ui/resources/my_assets.dart'; import 'package:hadi_hoda_flutter/core/routers/my_routes.dart'; import 'package:hadi_hoda_flutter/features/splash/presentation/bloc/splash_event.dart'; import 'package:hadi_hoda_flutter/features/splash/presentation/bloc/splash_state.dart'; class SplashBloc extends Bloc { /// ------------constructor------------ SplashBloc() : super(const SplashState()); /// ------------UseCases------------ /// ------------Variables------------ /// ------------Controllers------------ /// ------------Functions------------ Future _precacheAllImages(BuildContext context) async { await Future.wait( MyAssets.images.map( (assetPath) => precacheImage(AssetImage(assetPath), context), ), ); } Future goToHomePage(BuildContext context) async { if (context.mounted) { await _precacheAllImages(context); } await Future.delayed( Duration(seconds: 2), () { if (context.mounted) { context.goNamed(Routes.homePage); } }, ); } /// ------------Api Calls------------ }