From ed75da4eaa5f47f2348bcdbfa129816ab5fd763d Mon Sep 17 00:00:00 2001 From: "mr.mojtaba" Date: Wed, 21 May 2025 09:04:21 +0330 Subject: [PATCH] feat: new pages and with binding ... --- .../lib/presentation/page/action/logic.dart | 5 +++++ .../lib/presentation/page/action/view.dart | 12 ++++++++++++ .../lib/presentation/page/map/logic.dart | 5 +++++ .../lib/presentation/page/map/view.dart | 14 ++++++++++++++ .../lib/presentation/page/profile/logic.dart | 5 +++++ .../lib/presentation/page/profile/view.dart | 13 +++++++++++++ .../lib/presentation/page/root/logic.dart | 9 +++++++-- .../lib/presentation/page/root/view.dart | 10 +++++++++- .../lib/presentation/routes/app_pages.dart | 18 ++++++++++-------- .../lib/presentation/routes/app_routes.dart | 6 ++++-- 10 files changed, 84 insertions(+), 13 deletions(-) create mode 100644 packages/livestock/lib/presentation/page/action/logic.dart create mode 100644 packages/livestock/lib/presentation/page/action/view.dart create mode 100644 packages/livestock/lib/presentation/page/map/logic.dart create mode 100644 packages/livestock/lib/presentation/page/map/view.dart create mode 100644 packages/livestock/lib/presentation/page/profile/logic.dart create mode 100644 packages/livestock/lib/presentation/page/profile/view.dart diff --git a/packages/livestock/lib/presentation/page/action/logic.dart b/packages/livestock/lib/presentation/page/action/logic.dart new file mode 100644 index 0000000..e540e8c --- /dev/null +++ b/packages/livestock/lib/presentation/page/action/logic.dart @@ -0,0 +1,5 @@ +import 'package:rasadyar_core/core.dart'; + +class ActionLogic extends GetxController { + +} diff --git a/packages/livestock/lib/presentation/page/action/view.dart b/packages/livestock/lib/presentation/page/action/view.dart new file mode 100644 index 0000000..3068f47 --- /dev/null +++ b/packages/livestock/lib/presentation/page/action/view.dart @@ -0,0 +1,12 @@ +import 'package:flutter/material.dart'; +import 'package:rasadyar_core/core.dart'; +import 'logic.dart'; + +class ActionPage extends GetView { + ActionPage({super.key}); + + @override + Widget build(BuildContext context) { + return Container(); + } +} diff --git a/packages/livestock/lib/presentation/page/map/logic.dart b/packages/livestock/lib/presentation/page/map/logic.dart new file mode 100644 index 0000000..73d5b78 --- /dev/null +++ b/packages/livestock/lib/presentation/page/map/logic.dart @@ -0,0 +1,5 @@ +import 'package:rasadyar_core/core.dart'; + +class MapLogic extends GetxController { + +} diff --git a/packages/livestock/lib/presentation/page/map/view.dart b/packages/livestock/lib/presentation/page/map/view.dart new file mode 100644 index 0000000..0bb76db --- /dev/null +++ b/packages/livestock/lib/presentation/page/map/view.dart @@ -0,0 +1,14 @@ +import 'package:flutter/material.dart'; +import 'package:rasadyar_core/core.dart'; +import 'logic.dart'; + +class MapPage extends GetView { + MapPage({super.key}); + + + + @override + Widget build(BuildContext context) { + return Container(); + } +} diff --git a/packages/livestock/lib/presentation/page/profile/logic.dart b/packages/livestock/lib/presentation/page/profile/logic.dart new file mode 100644 index 0000000..811d534 --- /dev/null +++ b/packages/livestock/lib/presentation/page/profile/logic.dart @@ -0,0 +1,5 @@ +import 'package:rasadyar_core/core.dart'; + +class ProfileLogic extends GetxController { + +} diff --git a/packages/livestock/lib/presentation/page/profile/view.dart b/packages/livestock/lib/presentation/page/profile/view.dart new file mode 100644 index 0000000..1819ff5 --- /dev/null +++ b/packages/livestock/lib/presentation/page/profile/view.dart @@ -0,0 +1,13 @@ +import 'package:flutter/material.dart'; +import 'package:rasadyar_core/core.dart'; + +import 'logic.dart'; + +class ProfilePage extends GetView { + ProfilePage({super.key}); + + @override + Widget build(BuildContext context) { + return Container(); + } +} diff --git a/packages/livestock/lib/presentation/page/root/logic.dart b/packages/livestock/lib/presentation/page/root/logic.dart index e335077..c6aceec 100644 --- a/packages/livestock/lib/presentation/page/root/logic.dart +++ b/packages/livestock/lib/presentation/page/root/logic.dart @@ -1,8 +1,13 @@ - - +import 'package:flutter/material.dart'; import 'package:rasadyar_core/core.dart'; +import 'package:rasadyar_livestock/presentation/page/action/view.dart'; +import 'package:rasadyar_livestock/presentation/page/map/view.dart'; +import 'package:rasadyar_livestock/presentation/page/profile/view.dart'; class RootLogic extends GetxController { + List pages = [ActionPage(), MapPage(), ProfilePage()]; + RxInt indexedPage = 1.obs; + @override void onReady() { // TODO: implement onReady diff --git a/packages/livestock/lib/presentation/page/root/view.dart b/packages/livestock/lib/presentation/page/root/view.dart index 4725935..88d0fc3 100644 --- a/packages/livestock/lib/presentation/page/root/view.dart +++ b/packages/livestock/lib/presentation/page/root/view.dart @@ -7,6 +7,14 @@ class RootPage extends GetView { @override Widget build(BuildContext context) { - return Container(); + return Scaffold( + body: ObxValue((data) { + return IndexedStack( + children: controller.pages, + index: data.value, + sizing: StackFit.expand, + ); + }, controller.indexedPage), + ); } } diff --git a/packages/livestock/lib/presentation/routes/app_pages.dart b/packages/livestock/lib/presentation/routes/app_pages.dart index c699577..3795a4b 100644 --- a/packages/livestock/lib/presentation/routes/app_pages.dart +++ b/packages/livestock/lib/presentation/routes/app_pages.dart @@ -1,10 +1,11 @@ - import 'package:rasadyar_auth/auth.dart'; import 'package:rasadyar_core/core.dart'; +import 'package:rasadyar_livestock/presentation/page/action/logic.dart'; +import 'package:rasadyar_livestock/presentation/page/map/logic.dart'; +import 'package:rasadyar_livestock/presentation/page/profile/logic.dart'; +import 'package:rasadyar_livestock/presentation/page/root/logic.dart'; import 'package:rasadyar_livestock/presentation/page/root/view.dart'; - - -part'app_routes.dart'; +part 'app_routes.dart'; sealed class LiveStockPages { LiveStockPages._(); @@ -15,11 +16,12 @@ sealed class LiveStockPages { page: () => RootPage(), middlewares: [AuthMiddleware()], binding: BindingsBuilder(() { - + Get.put(RootLogic()); + BindingsBuilder.put(() => RootLogic()); + Get.lazyPut(() => ActionLogic()); + Get.lazyPut(() => MapLogic()); + Get.lazyPut(() => ProfileLogic()); }), ), - - ]; } - diff --git a/packages/livestock/lib/presentation/routes/app_routes.dart b/packages/livestock/lib/presentation/routes/app_routes.dart index b563e83..4c6eece 100644 --- a/packages/livestock/lib/presentation/routes/app_routes.dart +++ b/packages/livestock/lib/presentation/routes/app_routes.dart @@ -1,9 +1,11 @@ - part of 'app_pages.dart'; sealed class LiveStockRoutes { LiveStockRoutes._(); - static const init = '/liveStockRoutesInit'; + static const init = '/liveStock'; + static const action = '$init/liveStock'; + static const map = '$init/liveStock'; + static const profile = '$init/profile'; }