diff --git a/lib/core/middlewares/my_middlewares.dart b/lib/core/middlewares/my_middlewares.dart index cad56f8..40972de 100644 --- a/lib/core/middlewares/my_middlewares.dart +++ b/lib/core/middlewares/my_middlewares.dart @@ -11,7 +11,7 @@ class MyMiddlewares { const MyMiddlewares._internal(); factory MyMiddlewares() => _i; - static FutureOr intro(BuildContext context, GoRouterState state) { + static FutureOr splash(BuildContext context, GoRouterState state) { final String? firstDownload = LocalStorage.readData( key: MyConstants.firstDownload); if (firstDownload != 'true') { diff --git a/lib/core/routers/my_routes.dart b/lib/core/routers/my_routes.dart index 3a48ebb..bdd12c3 100644 --- a/lib/core/routers/my_routes.dart +++ b/lib/core/routers/my_routes.dart @@ -7,8 +7,6 @@ import 'package:hadi_hoda_flutter/features/download/presentation/bloc/download_e import 'package:hadi_hoda_flutter/features/download/presentation/ui/download_page.dart'; import 'package:hadi_hoda_flutter/features/home/presentation/bloc/home_bloc.dart'; import 'package:hadi_hoda_flutter/features/home/presentation/ui/home_page.dart'; -import 'package:hadi_hoda_flutter/features/intro/presentation/bloc/intro_bloc.dart'; -import 'package:hadi_hoda_flutter/features/intro/presentation/ui/intro_page.dart'; import 'package:hadi_hoda_flutter/features/language/presentation/bloc/language_bloc.dart'; import 'package:hadi_hoda_flutter/features/language/presentation/bloc/language_event.dart'; import 'package:hadi_hoda_flutter/features/language/presentation/ui/language_page.dart'; @@ -20,6 +18,8 @@ import 'package:hadi_hoda_flutter/features/question/presentation/bloc/question_e import 'package:hadi_hoda_flutter/features/question/presentation/ui/question_page.dart'; import 'package:hadi_hoda_flutter/features/sample/presentation/bloc/sample_bloc.dart'; import 'package:hadi_hoda_flutter/features/sample/presentation/ui/sample_page.dart'; +import 'package:hadi_hoda_flutter/features/splash/presentation/bloc/splash_bloc.dart'; +import 'package:hadi_hoda_flutter/features/splash/presentation/ui/splash_page.dart'; import 'package:hadi_hoda_flutter/init_bindings.dart'; class Routes { @@ -28,7 +28,7 @@ class Routes { factory Routes() => _i; static const String samplePage = '/sample_page'; - static const String introPage = '/intro_page'; + static const String splashPage = '/splash_page'; static const String downloadPage = '/download_page'; static const String languagePage = '/language_page'; static const String homePage = '/home_page'; @@ -37,7 +37,7 @@ class Routes { } GoRouter get appPages => GoRouter( - initialLocation: Routes.introPage, + initialLocation: Routes.splashPage, navigatorKey: ContextProvider.navigatorKey, routes: [ GoRoute( @@ -49,12 +49,12 @@ GoRouter get appPages => GoRouter( ), ), GoRoute( - name: Routes.introPage, - path: Routes.introPage, - redirect: MyMiddlewares.intro, + name: Routes.splashPage, + path: Routes.splashPage, + redirect: MyMiddlewares.splash, builder: (context, state) => BlocProvider( - create: (context) => IntroBloc(), - child: const IntroPage(), + create: (context) => SplashBloc(), + child: const SplashPage(), ), ), GoRoute( diff --git a/lib/features/intro/presentation/bloc/intro_event.dart b/lib/features/intro/presentation/bloc/intro_event.dart deleted file mode 100644 index f9f7a91..0000000 --- a/lib/features/intro/presentation/bloc/intro_event.dart +++ /dev/null @@ -1,3 +0,0 @@ -sealed class IntroEvent { - const IntroEvent(); -} diff --git a/lib/features/intro/presentation/bloc/intro_bloc.dart b/lib/features/splash/presentation/bloc/splash_bloc.dart similarity index 78% rename from lib/features/intro/presentation/bloc/intro_bloc.dart rename to lib/features/splash/presentation/bloc/splash_bloc.dart index 8ec0092..5fc686b 100644 --- a/lib/features/intro/presentation/bloc/intro_bloc.dart +++ b/lib/features/splash/presentation/bloc/splash_bloc.dart @@ -3,12 +3,12 @@ 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/intro/presentation/bloc/intro_event.dart'; -import 'package:hadi_hoda_flutter/features/intro/presentation/bloc/intro_state.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 IntroBloc extends Bloc { +class SplashBloc extends Bloc { /// ------------constructor------------ - IntroBloc() : super(const IntroState()); + SplashBloc() : super(const SplashState()); /// ------------UseCases------------ diff --git a/lib/features/splash/presentation/bloc/splash_event.dart b/lib/features/splash/presentation/bloc/splash_event.dart new file mode 100644 index 0000000..196d770 --- /dev/null +++ b/lib/features/splash/presentation/bloc/splash_event.dart @@ -0,0 +1,3 @@ +sealed class SplashEvent { + const SplashEvent(); +} diff --git a/lib/features/intro/presentation/bloc/intro_state.dart b/lib/features/splash/presentation/bloc/splash_state.dart similarity index 62% rename from lib/features/intro/presentation/bloc/intro_state.dart rename to lib/features/splash/presentation/bloc/splash_state.dart index 58de6aa..2ea42fe 100644 --- a/lib/features/intro/presentation/bloc/intro_state.dart +++ b/lib/features/splash/presentation/bloc/splash_state.dart @@ -1,14 +1,14 @@ import 'package:hadi_hoda_flutter/core/status/base_status.dart'; -class IntroState { +class SplashState { final BaseStatus getFilesStatus; - const IntroState({this.getFilesStatus = const BaseInit()}); + const SplashState({this.getFilesStatus = const BaseInit()}); - IntroState copyWith({ + SplashState copyWith({ BaseStatus? getFilesStatus, }) { - return IntroState( + return SplashState( getFilesStatus: getFilesStatus ?? this.getFilesStatus, ); } diff --git a/lib/features/intro/presentation/ui/intro_page.dart b/lib/features/splash/presentation/ui/splash_page.dart similarity index 85% rename from lib/features/intro/presentation/ui/intro_page.dart rename to lib/features/splash/presentation/ui/splash_page.dart index fd3cdcf..4d57461 100644 --- a/lib/features/intro/presentation/ui/intro_page.dart +++ b/lib/features/splash/presentation/ui/splash_page.dart @@ -5,21 +5,21 @@ import 'package:hadi_hoda_flutter/common_ui/resources/my_spaces.dart'; import 'package:hadi_hoda_flutter/core/utils/screen_size.dart'; import 'package:hadi_hoda_flutter/core/widgets/animations/rotation_anim.dart'; import 'package:hadi_hoda_flutter/core/widgets/images/my_image.dart'; -import 'package:hadi_hoda_flutter/features/intro/presentation/bloc/intro_bloc.dart'; +import 'package:hadi_hoda_flutter/features/splash/presentation/bloc/splash_bloc.dart'; -class IntroPage extends StatefulWidget { - const IntroPage({super.key}); +class SplashPage extends StatefulWidget { + const SplashPage({super.key}); @override - State createState() => _IntroPageState(); + State createState() => _SplashPageState(); } -class _IntroPageState extends State { +class _SplashPageState extends State { @override void initState() { super.initState(); WidgetsBinding.instance.addPostFrameCallback((_) { - context.read().goToHomePage(context); + context.read().goToHomePage(context); }); } diff --git a/lib/init_bindings.dart b/lib/init_bindings.dart index bfce909..b85c523 100644 --- a/lib/init_bindings.dart +++ b/lib/init_bindings.dart @@ -46,8 +46,6 @@ void initBindings() { locator.registerLazySingleton(() => SampleRepositoryImpl(locator())); locator.registerLazySingleton(() => GetSampleUseCase(locator())); - /// Intro Feature - /// Download Feature locator.registerLazySingleton(() => DownloadDatasourceImpl(locator())); locator.registerLazySingleton(() => DownloadRepositoryImpl(locator())); @@ -56,10 +54,6 @@ void initBindings() { locator.registerLazySingleton(() => SaveLevelsUseCase(locator())); locator.registerLazySingleton(() => LoadingStreamUseCase(locator())); - /// Language Feature - - /// Home Feature - /// Question Feature locator.registerLazySingleton(() => QuestionDatasourceImpl()); locator.registerLazySingleton(() => QuestionRepositoryImpl(locator()));