diff --git a/lib/core/routers/my_routes.dart b/lib/core/routers/my_routes.dart index 13f5e6b..2c5c202 100644 --- a/lib/core/routers/my_routes.dart +++ b/lib/core/routers/my_routes.dart @@ -52,7 +52,7 @@ GoRouter get appPages => GoRouter( name: Routes.homePage, path: Routes.homePage, builder: (context, state) => BlocProvider( - create: (context) => HomeBloc(locator()), + create: (context) => HomeBloc(), child: const HomePage(), ), ), diff --git a/lib/features/home/data/datasource/home_datasource.dart b/lib/features/home/data/datasource/home_datasource.dart deleted file mode 100644 index 17db1cf..0000000 --- a/lib/features/home/data/datasource/home_datasource.dart +++ /dev/null @@ -1,28 +0,0 @@ -import 'package:hadi_hoda_flutter/core/constants/my_api.dart'; -import 'package:hadi_hoda_flutter/core/network/http_request.dart'; -import 'package:hadi_hoda_flutter/core/params/home_params.dart'; -import 'package:hadi_hoda_flutter/core/response/base_response.dart'; -import 'package:hadi_hoda_flutter/features/home/data/model/home_model.dart'; -import 'package:hadi_hoda_flutter/features/home/domain/entity/home_entity.dart'; - -abstract class IHomeDatasource { - Future getData({required HomeParams params}); -} - -class HomeDatasourceImpl implements IHomeDatasource { - final IHttpRequest httpRequest; - - const HomeDatasourceImpl(this.httpRequest); - - @override - Future getData({required HomeParams params}) async { - final response = await httpRequest.get( - path: MyApi.baseUrl, - ); - - return BaseResponse.getData( - response?['data'], - (json) => HomeModel.fromJson(json), - ); - } -} diff --git a/lib/features/home/data/model/home_model.dart b/lib/features/home/data/model/home_model.dart deleted file mode 100644 index c63431f..0000000 --- a/lib/features/home/data/model/home_model.dart +++ /dev/null @@ -1,13 +0,0 @@ -import 'package:hadi_hoda_flutter/features/home/domain/entity/home_entity.dart'; - -class HomeModel extends HomeEntity { - const HomeModel({ - super.id, - }); - - factory HomeModel.fromJson(Map json) { - return HomeModel( - id: json['id'], - ); - } -} diff --git a/lib/features/home/data/repository_impl/home_repository_impl.dart b/lib/features/home/data/repository_impl/home_repository_impl.dart deleted file mode 100644 index 594969b..0000000 --- a/lib/features/home/data/repository_impl/home_repository_impl.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'package:hadi_hoda_flutter/core/params/home_params.dart'; -import 'package:flutter/foundation.dart'; -import 'package:hadi_hoda_flutter/core/error_handler/my_exception.dart'; -import 'package:hadi_hoda_flutter/core/utils/data_state.dart'; -import 'package:hadi_hoda_flutter/features/home/data/datasource/home_datasource.dart'; -import 'package:hadi_hoda_flutter/features/home/domain/entity/home_entity.dart'; -import 'package:hadi_hoda_flutter/features/home/domain/repository/home_repository.dart'; - -class HomeRepositoryImpl implements IHomeRepository { - final IHomeDatasource datasource; - - const HomeRepositoryImpl(this.datasource); - - @override - Future> getData({required HomeParams params}) async { - try { - final HomeEntity response = await datasource.getData(params: params); - return DataState.success(response); - } on MyException catch (e) { - return DataState.error(e); - } catch (e) { - if (kDebugMode) { - rethrow; - } else { - return DataState.error(MyException(errorMessage: '$e')); - } - } - } -} diff --git a/lib/features/home/domain/entity/home_entity.dart b/lib/features/home/domain/entity/home_entity.dart deleted file mode 100644 index 582723c..0000000 --- a/lib/features/home/domain/entity/home_entity.dart +++ /dev/null @@ -1,14 +0,0 @@ -import 'package:equatable/equatable.dart'; - -class HomeEntity extends Equatable { - final int? id; - - const HomeEntity({ - this.id, - }); - - @override - List get props => [ - id, - ]; -} diff --git a/lib/features/home/domain/repository/home_repository.dart b/lib/features/home/domain/repository/home_repository.dart deleted file mode 100644 index 81ad27c..0000000 --- a/lib/features/home/domain/repository/home_repository.dart +++ /dev/null @@ -1,8 +0,0 @@ -import 'package:hadi_hoda_flutter/core/error_handler/my_exception.dart'; -import 'package:hadi_hoda_flutter/core/params/home_params.dart'; -import 'package:hadi_hoda_flutter/core/utils/data_state.dart'; -import 'package:hadi_hoda_flutter/features/home/domain/entity/home_entity.dart'; - -abstract class IHomeRepository { - Future> getData({required HomeParams params}); -} diff --git a/lib/features/home/domain/usecases/get_home_usecase.dart b/lib/features/home/domain/usecases/get_home_usecase.dart deleted file mode 100644 index cbb629d..0000000 --- a/lib/features/home/domain/usecases/get_home_usecase.dart +++ /dev/null @@ -1,17 +0,0 @@ -import 'package:hadi_hoda_flutter/core/error_handler/my_exception.dart'; -import 'package:hadi_hoda_flutter/core/params/home_params.dart'; -import 'package:hadi_hoda_flutter/core/usecase/usecase.dart'; -import 'package:hadi_hoda_flutter/core/utils/data_state.dart'; -import 'package:hadi_hoda_flutter/features/home/domain/entity/home_entity.dart'; -import 'package:hadi_hoda_flutter/features/home/domain/repository/home_repository.dart'; - -class GetHomeUseCase implements UseCase { - final IHomeRepository repository; - - const GetHomeUseCase(this.repository); - - @override - Future> call(HomeParams params) { - return repository.getData(params: params); - } -} diff --git a/lib/features/home/presentation/bloc/home_bloc.dart b/lib/features/home/presentation/bloc/home_bloc.dart index e6fe3ae..342cc3c 100644 --- a/lib/features/home/presentation/bloc/home_bloc.dart +++ b/lib/features/home/presentation/bloc/home_bloc.dart @@ -3,23 +3,17 @@ import 'package:bloc/bloc.dart'; import 'package:flutter/cupertino.dart'; import 'package:go_router/go_router.dart'; import 'package:hadi_hoda_flutter/core/routers/my_routes.dart'; -import 'package:hadi_hoda_flutter/core/status/base_status.dart'; import 'package:hadi_hoda_flutter/core/widgets/about_us_dialog/about_us_dialog.dart'; -import 'package:hadi_hoda_flutter/features/home/domain/entity/home_entity.dart'; -import 'package:hadi_hoda_flutter/features/home/domain/usecases/get_home_usecase.dart'; import 'package:hadi_hoda_flutter/features/home/presentation/bloc/home_event.dart'; import 'package:hadi_hoda_flutter/features/home/presentation/bloc/home_state.dart'; class HomeBloc extends Bloc { /// ------------constructor------------ - HomeBloc( - this._getHomeUseCase, - ) : super(const HomeState()) { + HomeBloc() : super(const HomeState()) { on(_getHomeEvent); } /// ------------UseCases------------ - final GetHomeUseCase _getHomeUseCase; /// ------------Variables------------ @@ -39,18 +33,5 @@ class HomeBloc extends Bloc { } /// ------------Api Calls------------ - FutureOr _getHomeEvent(event, emit) async { - await _getHomeUseCase(event.homeParams).then( - (value) { - value.fold( - (data) { - emit(state.copyWith(getHomeStatus: BaseComplete(data))); - }, - (error) { - emit(state.copyWith(getHomeStatus: BaseError(error.errorMessage))); - }, - ); - }, - ); - } + FutureOr _getHomeEvent(event, emit) async {} } diff --git a/lib/init_bindings.dart b/lib/init_bindings.dart index 997baae..be6cedf 100644 --- a/lib/init_bindings.dart +++ b/lib/init_bindings.dart @@ -3,10 +3,6 @@ import 'dart:io'; import 'package:hadi_hoda_flutter/core/constants/my_constants.dart'; import 'package:hadi_hoda_flutter/core/network/http_request.dart'; import 'package:hadi_hoda_flutter/core/network/http_request_impl.dart'; -import 'package:hadi_hoda_flutter/features/home/data/datasource/home_datasource.dart'; -import 'package:hadi_hoda_flutter/features/home/data/repository_impl/home_repository_impl.dart'; -import 'package:hadi_hoda_flutter/features/home/domain/repository/home_repository.dart'; -import 'package:hadi_hoda_flutter/features/home/domain/usecases/get_home_usecase.dart'; import 'package:hadi_hoda_flutter/features/intro/data/datasource/intro_datasource.dart'; import 'package:hadi_hoda_flutter/features/intro/data/repository_impl/intro_repository_impl.dart'; import 'package:hadi_hoda_flutter/features/intro/domain/repository/intro_repository.dart'; @@ -55,9 +51,6 @@ void initBindings() { /// Language Feature /// Home Feature - locator.registerLazySingleton(() => HomeDatasourceImpl(locator())); - locator.registerLazySingleton(() => HomeRepositoryImpl(locator())); - locator.registerLazySingleton(() => GetHomeUseCase(locator())); /// Question Feature locator.registerLazySingleton(() => QuestionDatasourceImpl(locator()));