106 lines
3.9 KiB
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();
|
|
}
|
|
}
|