diff --git a/lib/core/routers/my_routes.dart b/lib/core/routers/my_routes.dart index 528cf69..3116ea5 100644 --- a/lib/core/routers/my_routes.dart +++ b/lib/core/routers/my_routes.dart @@ -1,5 +1,7 @@ import 'package:shia_game_flutter/features/awards/presentation/binding/awards_binding.dart'; import 'package:shia_game_flutter/features/awards/presentation/ui/awards_page.dart'; +import 'package:shia_game_flutter/features/battle_league/presentation/ui/battle_league_finding_page.dart'; +import 'package:shia_game_flutter/features/battle_league/presentation/ui/battle_league_founded_page.dart'; import 'package:shia_game_flutter/features/home/presentation/binding/home_binding.dart'; import 'package:shia_game_flutter/features/home/presentation/pages/home_page.dart'; import 'package:shia_game_flutter/features/intro/presentation/binding/intro_binding.dart'; @@ -15,8 +17,7 @@ import 'package:shia_game_flutter/features/battle_league/presentation/ui/battle_ import 'package:get/get.dart'; import 'package:shia_game_flutter/features/shop/presentation/binding/shop_binding.dart'; import 'package:shia_game_flutter/features/shop/presentation/ui/shop_page.dart'; -import 'package:shia_game_flutter/features/topic/presentation/binding/topic_binding.dart'; -import 'package:shia_game_flutter/features/topic/presentation/ui/topic_page.dart'; +import 'package:shia_game_flutter/features/battle_league/presentation/ui/battle_league_topic_page.dart'; class Routes { static const Routes _i = Routes._internal(); @@ -30,8 +31,12 @@ class Routes { static const String shopPage = '/shop_page'; static const String awardsPage = '/awards_page'; static const String profilePage = '/profile_page'; + + /// Battle league static const String battleLeaguePage = '/battle_league_page'; - static const String topicPage = '/topic_page'; + static const String battleLeagueTopicPage = '/battle_league_topic_page'; + static const String battleLeagueFindingPage = '/battle_league_finding_page'; + static const String battleLeagueFoundedPage = '/battle_league_founded_page'; } final List appPages = [ @@ -78,8 +83,18 @@ final List appPages = [ binding: BattleLeagueBinding(), ), GetPage( - name: Routes.topicPage, - page: () => const TopicPage(), - binding: TopicBinding(), + name: Routes.battleLeagueTopicPage, + page: () => const BattleLeagueTopicPage(), + binding: BattleLeagueBinding(), + ), + GetPage( + name: Routes.battleLeagueFindingPage, + page: () => const BattleLeagueFindingPage(), + binding: BattleLeagueBinding(), + ), + GetPage( + name: Routes.battleLeagueFoundedPage, + page: () => const BattleLeagueFoundedPage(), + binding: BattleLeagueBinding(), ), ]; diff --git a/lib/features/battle_league/presentation/controller/battle_league_controller.dart b/lib/features/battle_league/presentation/controller/battle_league_controller.dart index 55786f4..fd49a0f 100644 --- a/lib/features/battle_league/presentation/controller/battle_league_controller.dart +++ b/lib/features/battle_league/presentation/controller/battle_league_controller.dart @@ -40,7 +40,14 @@ class BattleLeagueController extends GetxController /// ------ Functions ------ void goToTopicPage(){ - Get.toNamed(Routes.topicPage); + Get.toNamed(Routes.battleLeagueTopicPage); + } + + void goToFindingPage(){ + Get.toNamed(Routes.battleLeagueFindingPage); + } + void goToFoundedPage(){ + Get.toNamed(Routes.battleLeagueFoundedPage); } /// ------ Api Calls ------ diff --git a/lib/features/battle_league/presentation/ui/battle_find_page.dart b/lib/features/battle_league/presentation/ui/battle_league_finding_page.dart similarity index 70% rename from lib/features/battle_league/presentation/ui/battle_find_page.dart rename to lib/features/battle_league/presentation/ui/battle_league_finding_page.dart index 6a4f3a9..7c9fe0c 100644 --- a/lib/features/battle_league/presentation/ui/battle_find_page.dart +++ b/lib/features/battle_league/presentation/ui/battle_league_finding_page.dart @@ -6,13 +6,12 @@ import 'package:shia_game_flutter/common_ui/resources/my_text_style.dart'; import 'package:shia_game_flutter/core/utils/gap.dart'; import 'package:shia_game_flutter/core/utils/my_localization.dart'; import 'package:shia_game_flutter/core/utils/screen_size.dart'; -import 'package:shia_game_flutter/core/widgets/container/my_container.dart'; import 'package:shia_game_flutter/core/widgets/image/my_image.dart'; -import 'package:shia_game_flutter/core/widgets/text/gradient_text.dart'; import 'package:shia_game_flutter/features/battle_league/presentation/controller/battle_league_controller.dart'; +import 'package:shia_game_flutter/features/battle_league/presentation/ui/widgets/button/battle_purple_button.dart'; -class BattleFindPage extends GetView { - const BattleFindPage({super.key}); +class BattleLeagueFindingPage extends GetView { + const BattleLeagueFindingPage({super.key}); @override Widget build(BuildContext context) { @@ -30,7 +29,7 @@ class BattleFindPage extends GetView { const Spacer(), _description(context), 37.h.gapHeight, - const BattlePurpleButton(), + _startFindingButton(context), ], ), ), @@ -102,39 +101,11 @@ class BattleFindPage extends GetView { ], ); } -} - -class BattlePurpleButton extends StatelessWidget { - const BattlePurpleButton({super.key}); - @override - Widget build(BuildContext context) { - return MyContainer( - onTap: () {}, - width: context.widthScreen, - height: 64.h, - borderRadius: const BorderRadius.all(Radius.circular(20)), - borderGradient: LinearGradient( - begin: AlignmentDirectional.topStart, - end: AlignmentDirectional.bottomEnd, - colors: [ - const Color(0XFF7F4CD4), - const Color(0XFF7F4CD4).withValues(alpha: 0), - ], - ), - gradient: const RadialGradient( - radius: 5, - center: Alignment(-0.5, 0), - colors: [Color(0xFF6A36BF), Color(0xFF562A9E)], - ), - child: GradientText( - text: context.translate.stop_finding, - fontSize: 22.sp, - color: const Color(0xFFE1E1E1), - offset: const Offset(0, 1.04), - blurRadius: 1.9, - shadowColor: const Color(0xFF898989), - ), + Widget _startFindingButton(BuildContext context) { + return BattlePurpleButton( + label: context.translate.stop_finding, + onTap: () => Get.back(), ); } } diff --git a/lib/features/battle_league/presentation/ui/battle_league_founded_page.dart b/lib/features/battle_league/presentation/ui/battle_league_founded_page.dart new file mode 100644 index 0000000..42cfae9 --- /dev/null +++ b/lib/features/battle_league/presentation/ui/battle_league_founded_page.dart @@ -0,0 +1,67 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import 'package:shia_game_flutter/common_ui/resources/my_assets.dart'; +import 'package:shia_game_flutter/common_ui/resources/my_colors.dart'; +import 'package:shia_game_flutter/common_ui/resources/my_text_style.dart'; +import 'package:shia_game_flutter/core/utils/gap.dart'; +import 'package:shia_game_flutter/core/utils/my_localization.dart'; +import 'package:shia_game_flutter/core/utils/screen_size.dart'; +import 'package:shia_game_flutter/core/widgets/image/my_image.dart'; +import 'package:shia_game_flutter/features/battle_league/presentation/controller/battle_league_controller.dart'; +import 'package:shia_game_flutter/features/intro/presentation/ui/widgets/intro_loading.dart'; + +class BattleLeagueFoundedPage extends GetView { + const BattleLeagueFoundedPage({super.key}); + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: MyColors.battleLeagueBackgroundColor, + body: SafeArea( + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 30), + child: Column( + children: [ + 20.h.gapHeight, + _rankTitle(context), + const Spacer(), + const IntroLoading(), + ], + ), + ), + ), + ); + } + + Container _rankTitle(BuildContext context) { + return Container( + height: 42.h, + width: context.widthScreen, + alignment: Alignment.center, + padding: const EdgeInsets.symmetric(horizontal: 17), + decoration: const ShapeDecoration( + shape: StadiumBorder(), + color: Color(0XFF2E0869), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Expanded( + child: FittedBox( + child: Text( + '${context.translate.quiz_league} (june) | ${context.translate.your_place} (1,569)', + textAlign: TextAlign.center, + maxLines: 1, + style: Lexend.semiBold.copyWith(fontSize: 12.sp), + ), + ), + ), + 15.w.gapWidth, + const MyImage(asset: MyAssets.iconRank), + 4.w.gapWidth, + Text('265', style: Lexend.bold.copyWith(fontSize: 12.sp)), + ], + ), + ); + } +} \ No newline at end of file diff --git a/lib/features/battle_league/presentation/ui/battle_league_page.dart b/lib/features/battle_league/presentation/ui/battle_league_page.dart index 0b335dc..ecd13ec 100644 --- a/lib/features/battle_league/presentation/ui/battle_league_page.dart +++ b/lib/features/battle_league/presentation/ui/battle_league_page.dart @@ -7,7 +7,7 @@ import 'package:shia_game_flutter/core/utils/screen_size.dart'; import 'package:shia_game_flutter/core/widgets/app_bar/enums/app_bar_type.dart'; import 'package:shia_game_flutter/core/widgets/app_bar/my_app_bar.dart'; import 'package:shia_game_flutter/features/battle_league/presentation/controller/battle_league_controller.dart'; -import 'package:shia_game_flutter/features/battle_league/presentation/ui/widgets/battle_league_start_button.dart'; +import 'package:shia_game_flutter/features/battle_league/presentation/ui/widgets/button/battle_golden_button.dart'; import 'package:shia_game_flutter/features/battle_league/presentation/ui/widgets/battle_league_tab_bar.dart'; import 'package:shia_game_flutter/features/battle_league/presentation/ui/widgets/regional_ranking.dart'; import 'package:shia_game_flutter/features/battle_league/presentation/ui/widgets/time_ranking.dart'; @@ -75,7 +75,7 @@ class BattleLeaguePage extends GetView { Padding _startButton(BuildContext context) { return Padding( padding: const EdgeInsets.symmetric(horizontal: 30), - child: BattleLeagueStartButton( + child: BattleGoldenButton( title: context.translate.play_now, onTap: controller.goToTopicPage, ), diff --git a/lib/features/topic/presentation/ui/topic_page.dart b/lib/features/battle_league/presentation/ui/battle_league_topic_page.dart similarity index 83% rename from lib/features/topic/presentation/ui/topic_page.dart rename to lib/features/battle_league/presentation/ui/battle_league_topic_page.dart index e934dd7..9a14f1e 100644 --- a/lib/features/topic/presentation/ui/topic_page.dart +++ b/lib/features/battle_league/presentation/ui/battle_league_topic_page.dart @@ -8,13 +8,13 @@ import 'package:shia_game_flutter/core/utils/my_localization.dart'; import 'package:shia_game_flutter/core/utils/screen_size.dart'; import 'package:shia_game_flutter/core/widgets/app_bar/enums/app_bar_type.dart'; import 'package:shia_game_flutter/core/widgets/app_bar/my_app_bar.dart'; -import 'package:shia_game_flutter/features/battle_league/presentation/ui/widgets/battle_league_start_button.dart'; -import 'package:shia_game_flutter/features/topic/presentation/controller/topic_controller.dart'; -import 'package:shia_game_flutter/features/topic/presentation/ui/widgets/battle_grey_button.dart'; -import 'package:shia_game_flutter/features/topic/presentation/ui/widgets/topic_widget.dart'; +import 'package:shia_game_flutter/features/battle_league/presentation/controller/battle_league_controller.dart'; +import 'package:shia_game_flutter/features/battle_league/presentation/ui/widgets/button/battle_golden_button.dart'; +import 'package:shia_game_flutter/features/battle_league/presentation/ui/widgets/button/battle_grey_button.dart'; +import 'package:shia_game_flutter/features/battle_league/presentation/ui/widgets/topic_widget.dart'; -class TopicPage extends GetView { - const TopicPage({super.key}); +class BattleLeagueTopicPage extends GetView { + const BattleLeagueTopicPage({super.key}); @override Widget build(BuildContext context) { @@ -104,7 +104,10 @@ class TopicPage extends GetView { Widget _startButton(BuildContext context) { return Padding( padding: const EdgeInsets.symmetric(horizontal: 30), - child: BattleLeagueStartButton(title: context.translate.start_finding), + child: BattleGoldenButton( + onTap: controller.goToFindingPage, + title: context.translate.start_finding, + ), ); } } diff --git a/lib/features/battle_league/presentation/ui/widgets/battle_league_start_button.dart b/lib/features/battle_league/presentation/ui/widgets/button/battle_golden_button.dart similarity index 93% rename from lib/features/battle_league/presentation/ui/widgets/battle_league_start_button.dart rename to lib/features/battle_league/presentation/ui/widgets/button/battle_golden_button.dart index 49e09a7..cbdd417 100644 --- a/lib/features/battle_league/presentation/ui/widgets/battle_league_start_button.dart +++ b/lib/features/battle_league/presentation/ui/widgets/button/battle_golden_button.dart @@ -3,8 +3,8 @@ import 'package:shia_game_flutter/core/utils/screen_size.dart'; import 'package:shia_game_flutter/core/widgets/container/my_container.dart'; import 'package:shia_game_flutter/core/widgets/text/gradient_text.dart'; -class BattleLeagueStartButton extends StatelessWidget { - const BattleLeagueStartButton({ +class BattleGoldenButton extends StatelessWidget { + const BattleGoldenButton({ super.key, this.onTap, this.title, diff --git a/lib/features/topic/presentation/ui/widgets/battle_grey_button.dart b/lib/features/battle_league/presentation/ui/widgets/button/battle_grey_button.dart similarity index 100% rename from lib/features/topic/presentation/ui/widgets/battle_grey_button.dart rename to lib/features/battle_league/presentation/ui/widgets/button/battle_grey_button.dart diff --git a/lib/features/battle_league/presentation/ui/widgets/button/battle_purple_button.dart b/lib/features/battle_league/presentation/ui/widgets/button/battle_purple_button.dart new file mode 100644 index 0000000..1b71eca --- /dev/null +++ b/lib/features/battle_league/presentation/ui/widgets/button/battle_purple_button.dart @@ -0,0 +1,42 @@ +import 'package:flutter/material.dart'; +import 'package:shia_game_flutter/core/utils/screen_size.dart'; +import 'package:shia_game_flutter/core/widgets/container/my_container.dart'; +import 'package:shia_game_flutter/core/widgets/text/gradient_text.dart'; + +class BattlePurpleButton extends StatelessWidget { + const BattlePurpleButton({super.key, this.onTap, this.label}); + + final VoidCallback? onTap; + final String? label; + + @override + Widget build(BuildContext context) { + return MyContainer( + onTap: onTap, + width: context.widthScreen, + height: 64.h, + borderRadius: const BorderRadius.all(Radius.circular(20)), + borderGradient: LinearGradient( + begin: AlignmentDirectional.topStart, + end: AlignmentDirectional.bottomEnd, + colors: [ + const Color(0XFF7F4CD4), + const Color(0XFF7F4CD4).withValues(alpha: 0), + ], + ), + gradient: const RadialGradient( + radius: 5, + center: Alignment(-0.5, 0), + colors: [Color(0xFF6A36BF), Color(0xFF562A9E)], + ), + child: GradientText( + text: label, + fontSize: 22.sp, + color: const Color(0xFFE1E1E1), + offset: const Offset(0, 1.04), + blurRadius: 1.9, + shadowColor: const Color(0xFF898989), + ), + ); + } +} diff --git a/lib/features/topic/presentation/ui/widgets/topic_widget.dart b/lib/features/battle_league/presentation/ui/widgets/topic_widget.dart similarity index 100% rename from lib/features/topic/presentation/ui/widgets/topic_widget.dart rename to lib/features/battle_league/presentation/ui/widgets/topic_widget.dart diff --git a/lib/features/topic/data/datasource/topic_datasource.dart b/lib/features/topic/data/datasource/topic_datasource.dart deleted file mode 100644 index 6f94800..0000000 --- a/lib/features/topic/data/datasource/topic_datasource.dart +++ /dev/null @@ -1,28 +0,0 @@ -import 'package:shia_game_flutter/core/constants/my_api.dart'; -import 'package:shia_game_flutter/core/network/http_request.dart'; -import 'package:shia_game_flutter/core/params/topic_params.dart'; -import 'package:shia_game_flutter/core/response/base_response.dart'; -import 'package:shia_game_flutter/features/topic/data/model/topic_model.dart'; -import 'package:shia_game_flutter/features/topic/domain/entity/topic_entity.dart'; - -abstract class ITopicDatasource { - Future getData({required TopicParams params}); -} - -class TopicDatasourceImpl implements ITopicDatasource { - final IHttpRequest httpRequest; - - const TopicDatasourceImpl(this.httpRequest); - - @override - Future getData({required TopicParams params}) async { - final response = await httpRequest.get( - path: MyApi.baseUrl, - ); - - return BaseResponse.getData( - response?['data'], - (json) => TopicModel.fromJson(json), - ); - } -} diff --git a/lib/features/topic/data/model/topic_model.dart b/lib/features/topic/data/model/topic_model.dart deleted file mode 100644 index e7d152c..0000000 --- a/lib/features/topic/data/model/topic_model.dart +++ /dev/null @@ -1,13 +0,0 @@ -import 'package:shia_game_flutter/features/topic/domain/entity/topic_entity.dart'; - -class TopicModel extends TopicEntity { - const TopicModel({ - super.id, - }); - - factory TopicModel.fromJson(Map json) { - return TopicModel( - id: json['id'], - ); - } -} diff --git a/lib/features/topic/data/repository_impl/topic_repository_impl.dart b/lib/features/topic/data/repository_impl/topic_repository_impl.dart deleted file mode 100644 index 46870f7..0000000 --- a/lib/features/topic/data/repository_impl/topic_repository_impl.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'package:flutter/foundation.dart'; -import 'package:shia_game_flutter/core/error_handler/my_exception.dart'; -import 'package:shia_game_flutter/core/params/topic_params.dart'; -import 'package:shia_game_flutter/core/utils/data_state.dart'; -import 'package:shia_game_flutter/features/topic/data/datasource/topic_datasource.dart'; -import 'package:shia_game_flutter/features/topic/domain/entity/topic_entity.dart'; -import 'package:shia_game_flutter/features/topic/domain/repository/topic_repository.dart'; - -class TopicRepositoryImpl implements ITopicRepository { - final ITopicDatasource datasource; - - const TopicRepositoryImpl(this.datasource); - - @override - Future> getData({required TopicParams params}) async { - try { - final TopicEntity 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/topic/domain/entity/topic_entity.dart b/lib/features/topic/domain/entity/topic_entity.dart deleted file mode 100644 index d6e6e85..0000000 --- a/lib/features/topic/domain/entity/topic_entity.dart +++ /dev/null @@ -1,14 +0,0 @@ -import 'package:equatable/equatable.dart'; - -class TopicEntity extends Equatable { - final int? id; - - const TopicEntity({ - this.id, - }); - - @override - List get props => [ - id, - ]; -} diff --git a/lib/features/topic/domain/repository/topic_repository.dart b/lib/features/topic/domain/repository/topic_repository.dart deleted file mode 100644 index 0b591dd..0000000 --- a/lib/features/topic/domain/repository/topic_repository.dart +++ /dev/null @@ -1,8 +0,0 @@ -import 'package:shia_game_flutter/core/error_handler/my_exception.dart'; -import 'package:shia_game_flutter/core/params/topic_params.dart'; -import 'package:shia_game_flutter/core/utils/data_state.dart'; -import 'package:shia_game_flutter/features/topic/domain/entity/topic_entity.dart'; - -abstract class ITopicRepository { - Future> getData({required TopicParams params}); -} diff --git a/lib/features/topic/domain/usecases/get_topic_usecase.dart b/lib/features/topic/domain/usecases/get_topic_usecase.dart deleted file mode 100644 index 3c16333..0000000 --- a/lib/features/topic/domain/usecases/get_topic_usecase.dart +++ /dev/null @@ -1,19 +0,0 @@ -import 'package:shia_game_flutter/core/error_handler/my_exception.dart'; -import 'package:shia_game_flutter/core/params/topic_params.dart'; -import 'package:shia_game_flutter/core/usecase/usecase.dart'; -import 'package:shia_game_flutter/core/utils/data_state.dart'; -import 'package:shia_game_flutter/features/topic/domain/entity/topic_entity.dart'; -import 'package:shia_game_flutter/features/topic/domain/repository/topic_repository.dart'; - -class GetTopicUseCase implements UseCase { - final ITopicRepository repository; - - const GetTopicUseCase(this.repository); - - @override - Future> call(TopicParams params) { - return repository.getData(params: params); - } -} - - diff --git a/lib/features/topic/presentation/binding/topic_binding.dart b/lib/features/topic/presentation/binding/topic_binding.dart deleted file mode 100644 index 9b1b6da..0000000 --- a/lib/features/topic/presentation/binding/topic_binding.dart +++ /dev/null @@ -1,20 +0,0 @@ -import 'package:shia_game_flutter/features/topic/presentation/controller/topic_controller.dart'; -import 'package:get/get.dart'; - -class TopicBinding extends Bindings { - @override - void dependencies() { - Get.put(TopicController(Get.find())); - } - - Future deleteBindings() async { - await Future.wait([ - Get.delete(), - ]); - } - - Future refreshBinding() async { - await deleteBindings(); - dependencies(); - } -} diff --git a/lib/features/topic/presentation/controller/topic_controller.dart b/lib/features/topic/presentation/controller/topic_controller.dart deleted file mode 100644 index cb1fd82..0000000 --- a/lib/features/topic/presentation/controller/topic_controller.dart +++ /dev/null @@ -1,54 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:shia_game_flutter/core/params/topic_params.dart'; -import 'package:shia_game_flutter/core/status/base_status.dart'; -import 'package:shia_game_flutter/features/topic/domain/entity/topic_entity.dart'; -import 'package:shia_game_flutter/features/topic/domain/usecases/get_topic_usecase.dart'; -import 'package:get/get.dart'; - -class TopicController extends GetxController with StateMixin { - /// ----- Constructor ----- - TopicController(this.getTopicUseCase); - - @override - void onInit() { - super.onInit(); - change('', status: RxStatus.success()); - } - - @override - void onClose() { - textEditingController.dispose(); - super.onClose(); - } - - /// ----- UseCases ----- - final GetTopicUseCase getTopicUseCase; - - /// ----- Variables ----- - final Rx topicParams = Rx(TopicParams()); - final Rx topicEntity = Rx(const TopicEntity()); - - /// ------ Controllers ------ - final TextEditingController textEditingController = TextEditingController(); - - /// ------ Statuses ------ - final Rx getTopicStatus = Rx(const BaseInit()); - - /// ------ Functions ------ - - /// ------ Api Calls ------ - Future getTopic() async { - change('', status: RxStatus.loading()); - await getTopicUseCase(topicParams.value).then( - (value) => value.fold( - (data) { - topicEntity.value = data; - change('', status: RxStatus.success()); - }, - (error) { - change('', status: RxStatus.error(error.errorMessage)); - }, - ), - ); - } -} diff --git a/lib/init_bindings.dart b/lib/init_bindings.dart index 2401e9f..fc3a664 100644 --- a/lib/init_bindings.dart +++ b/lib/init_bindings.dart @@ -33,10 +33,6 @@ import 'package:shia_game_flutter/features/shop/data/datasource/shop_datasource. import 'package:shia_game_flutter/features/shop/data/repository_impl/shop_repository_impl.dart'; import 'package:shia_game_flutter/features/shop/domain/repository/shop_repository.dart'; import 'package:shia_game_flutter/features/shop/domain/usecases/get_shop_usecase.dart'; -import 'package:shia_game_flutter/features/topic/data/datasource/topic_datasource.dart'; -import 'package:shia_game_flutter/features/topic/data/repository_impl/topic_repository_impl.dart'; -import 'package:shia_game_flutter/features/topic/domain/repository/topic_repository.dart'; -import 'package:shia_game_flutter/features/topic/domain/usecases/get_topic_usecase.dart'; void initBindings() { /// ----- Classes ----- @@ -81,9 +77,4 @@ void initBindings() { Get.lazyPut(() => BattleLeagueDatasourceImpl(Get.find()), fenix: true); Get.lazyPut(() => BattleLeagueRepositoryImpl(Get.find()), fenix: true); Get.lazyPut(() => GetBattleLeagueUseCase(Get.find()), fenix: true); - - /// ----- Topic Feature ----- - Get.lazyPut(() => TopicDatasourceImpl(Get.find()), fenix: true); - Get.lazyPut(() => TopicRepositoryImpl(Get.find()), fenix: true); - Get.lazyPut(() => GetTopicUseCase(Get.find()), fenix: true); }