flutter-freaccess-hub/lib/pages/home_page/home_page_model.dart

106 lines
3.9 KiB
Dart

import 'package:flutter/material.dart';
import 'package:hub/backend/schema/enums/enums.dart';
import 'package:hub/components/molecular_components/menu_item/menu_item.dart';
import 'package:hub/components/organism_components/local_profile_component/local_profile_component_model.dart';
import 'package:hub/components/organism_components/menu_component/menu_component_model.dart';
import 'package:hub/components/organism_components/message_well_component/message_well_component_model.dart';
import 'package:hub/flutter_flow/flutter_flow_model.dart';
import 'package:hub/pages/home_page/home_page_widget.dart';
import 'package:hub/shared/helpers/license/license_helper.dart';
import 'package:hub/shared/helpers/storage/base_storage.dart';
import 'package:hub/shared/helpers/storage/storage_helper.dart';
class HomePageModel extends FlutterFlowModel<HomePageWidget> {
HomePageModel({required this.safeSetState});
late final VoidCallback safeSetState;
bool isGrid = false;
late final String devUUID;
late final String cliUUID;
late final String userUUID;
late final String userName;
late final String userEmail;
final unfocusNode = FocusNode();
FocusNode? textFieldFocusNode;
TextEditingController? textController;
String? Function(BuildContext, String?)? textControllerValidator;
late LocalProfileComponentModel localComponentModel;
late MenuComponentModel homeMenuComponentModel;
late MenuComponentModel drawerMenuComponentModel;
late MessageWellComponentModel messageWellComponentModel;
Future<void> _initVariable() async {
devUUID = (await StorageHelper().g(KeychainStorageKey.devUUID.value)) ?? '';
userUUID =
(await StorageHelper().g(KeychainStorageKey.userUUID.value)) ?? '';
cliUUID =
(await StorageHelper().g(KeychainStorageKey.clientUUID.value)) ?? '';
userName =
(await StorageHelper().g(KeychainStorageKey.userName.value)) ?? '';
userEmail = (await StorageHelper().g(SecureStorageKey.email.value)) ?? '';
}
@override
void initState(BuildContext context) {
_initVariable();
localComponentModel =
createModel(context, () => LocalProfileComponentModel());
homeMenuComponentModel = createModel(
context,
() => MenuComponentModel(
expandable: true,
style: MenuView.list_grid,
item: MenuItem.button,
menuOptions: [
Module.messages,
Module.access,
Module.pets,
Module.openedVisits,
Module.reservations,
Module.orders,
Module.providerSchedule,
Module.deliverySchedule,
Module.completeSchedule,
Module.fastPass,
Module.liberations,
Module.qrCode,
Module.settings,
]));
drawerMenuComponentModel = createModel(
context,
() => MenuComponentModel(
expandable: false,
style: MenuView.list,
item: MenuItem.tile,
menuOptions: [
Module.messages,
Module.access,
Module.pets,
Module.openedVisits,
Module.reservations,
Module.orders,
Module.providerSchedule,
Module.deliverySchedule,
Module.completeSchedule,
Module.fastPass,
Module.liberations,
Module.qrCode,
Module.logout,
]));
messageWellComponentModel =
createModel(context, () => MessageWellComponentModel());
}
@override
void dispose() {
unfocusNode.dispose();
textFieldFocusNode?.dispose();
textController?.dispose();
localComponentModel.dispose();
homeMenuComponentModel.dispose();
messageWellComponentModel.dispose();
}
}