Assets page main functionality

This commit is contained in:
Andrew 2023-04-28 02:12:15 +07:00
parent 61f3184f85
commit 64a435ccb2
8 changed files with 606 additions and 929 deletions

View file

@ -3,6 +3,7 @@ import 'package:get/get.dart';
import 'package:get_storage/get_storage.dart';
import 'package:tuuli_app/api_controller.dart';
import 'package:tuuli_app/c.dart';
import 'package:tuuli_app/pages/home_panels/assets_panel.dart';
import 'package:tuuli_app/pages/home_panels/none_panel.dart';
import 'package:tuuli_app/pages/home_panels/settings_panel.dart';
import 'package:tuuli_app/pages/home_panels/tables_list_panel.dart';
@ -12,6 +13,7 @@ enum PageType {
none,
tables,
users,
assets,
settings,
}
@ -26,6 +28,7 @@ class HomePageController extends GetxController {
PageType.none: "Home",
PageType.tables: "Tables",
PageType.users: "Users",
PageType.assets: "Assets",
PageType.settings: "Settings",
};
@ -41,6 +44,10 @@ class HomePageController extends GetxController {
() => UserListPanelController(),
fenix: true,
);
Get.lazyPut<AssetsPagePanelController>(
() => AssetsPagePanelController(),
fenix: true,
);
}
Future<void> logout() async {
@ -49,6 +56,7 @@ class HomePageController extends GetxController {
await Future.wait([
Get.delete<TablesListPanelController>(),
Get.delete<UserListPanelController>(),
Get.delete<AssetsPagePanelController>(),
Get.delete<HomePageController>(),
]);
@ -100,6 +108,16 @@ class HomePage extends GetView<HomePageController> {
selected: controller.currentPage == PageType.users,
),
),
Obx(
() => ListTile(
leading: const Icon(Icons.dataset_outlined),
title: const Text("Assets"),
onTap: () {
controller.currentPage = PageType.assets;
},
selected: controller.currentPage == PageType.assets,
),
),
Obx(
() => ListTile(
leading: const Icon(Icons.settings),
@ -154,6 +172,8 @@ class HomePage extends GetView<HomePageController> {
return const TablesListPanel();
case PageType.users:
return const UsersListPanel();
case PageType.assets:
return const AssetsPagePanel();
case PageType.settings:
return const SettingsPanel();
case PageType.none: