This commit is contained in:
J. A. Messias 2024-11-29 18:00:12 -03:00
parent 54fcab5c16
commit a709c2fde4
37 changed files with 912 additions and 1233 deletions

View File

@ -122,7 +122,7 @@ class _HomePageWidgetState extends State<HomePageWidget> {
padding: const EdgeInsets.only(bottom: 40),
child: MenuFactory(
menuEntry: MenuEntries.home,
menuItem: MenuItem.button,
menuItem: EnumMenuItem.button,
menuView: MenuView.list_grid,
),
),

View File

@ -79,7 +79,7 @@ class _AboutPropertyPageState extends State<AboutPropertyPage> with SingleTicker
color: FlutterFlowTheme.of(context).primaryBackground,
child: MenuFactory(
menuEntry: MenuEntries.AboutProperty,
menuItem: MenuItem.button,
menuItem: EnumMenuItem.button,
menuView: MenuView.list_grid,
),
),

View File

@ -2,22 +2,15 @@ import 'dart:async';
import 'dart:developer';
import 'dart:io';
import 'package:app_tracking_transparency/app_tracking_transparency.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:flutter_web_plugins/url_strategy.dart';
import 'package:hub/backend/notifications/notification_service.dart';
import 'package:hub/flutter_flow/flutter_flow_theme.dart';
import 'package:hub/flutter_flow/flutter_flow_util.dart';
import 'package:hub/flutter_flow/internationalization.dart';
import 'package:hub/flutter_flow/nav/nav.dart';
import 'package:hub/shared/components/molecules/locals/index.dart';
import 'package:hub/shared/helpers/database/database_helper.dart';
import 'package:hub/shared/helpers/storage/base_storage.dart';
import 'package:hub/shared/helpers/storage/storage_helper.dart';
import 'package:hub/shared/services/deeplink/deep_link_service.dart';

View File

@ -13,7 +13,7 @@ class CustomDrawer extends StatelessWidget {
@override
Widget build(BuildContext context) {
return StreamBuilder<TModule>(
return StreamBuilder<LicenseStatus>(
stream: LicenseRepositoryImpl.stream,
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
@ -191,7 +191,7 @@ class CustomDrawer extends StatelessWidget {
Widget _buildDrawerBody(BuildContext context) {
return MenuFactory(
menuEntry: MenuEntries.drawer,
menuItem: MenuItem.tile,
menuItem: EnumMenuItem.tile,
menuView: MenuView.list,
);
}

View File

@ -1 +1 @@
export 'local_profile_widget.dart';
export 'local_profile/index.dart';

View File

@ -0,0 +1 @@
export 'local_profile_widget.dart';

View File

@ -1,5 +0,0 @@
import 'package:flutter/material.dart';
import 'package:hub/shared/components/molecules/menu/index.dart';
import 'package:hub/shared/components/molecules/modules/index.dart';
abstract class BaseEntry implements BaseModule {}

View File

@ -1 +0,0 @@
export 'base_entry.dart';

View File

@ -0,0 +1,3 @@
export 'menu_entry.dart';
export 'menu_item.dart';
export 'menu_view.dart';

View File

@ -1,18 +1,20 @@
import 'package:flutter/material.dart';
import 'package:hub/shared/components/molecules/modules/domain/entities/license.dart';
import 'package:hub/shared/components/molecules/modules/domain/entities/base_module.dart';
class MenuEntry {
final String value;
final String name;
final IconData icon;
final String route;
final ModuleStatus status;
MenuEntry({
required this.value,
required this.name,
required this.icon,
required this.route,
required this.status,
});
class MenuEntry implements BaseModule {
@override
IconData get icon => throw UnimplementedError();
@override
String get name => throw UnimplementedError();
@override
String get route => throw UnimplementedError();
@override
String get value => throw UnimplementedError();
}

View File

@ -1,25 +1,25 @@
import 'package:flutter/material.dart';
import 'package:hub/shared/components/molecules/menu/index.dart';
enum MenuItem {
enum EnumMenuItem {
button,
card,
tile;
MenuEntry getInstance(final Function() action, final String title, final IconData icon) {
MenuItem getInstance(final Function() action, final String title, final IconData icon) {
switch (this) {
case MenuItem.button:
case EnumMenuItem.button:
return MenuButtonWidget(action: action, title: title, icon: icon);
case MenuItem.card:
case EnumMenuItem.card:
return MenuCardItem(action: action, title: title, icon: icon);
case MenuItem.tile:
case EnumMenuItem.tile:
return MenuCardItem(action: action, title: title, icon: icon);
}
}
}
abstract class MenuEntry extends StatefulWidget {
const MenuEntry({
abstract class MenuItem extends StatefulWidget {
const MenuItem({
super.key,
required this.action,
required this.title,
@ -30,8 +30,9 @@ abstract class MenuEntry extends StatefulWidget {
final String title;
final IconData icon;
factory MenuEntry.create(
MenuItem type, {
factory MenuItem.create(
EnumMenuItem type, {
Key? key,
required Function() action,
required String title,

View File

@ -1,3 +1,4 @@
import 'dart:async';
import 'dart:convert';
import 'dart:developer';
import 'package:flutter/material.dart';
@ -14,12 +15,12 @@ import 'package:hub/shared/extensions/dialog_extensions.dart';
class MenuViewEvent {}
class MenuViewState {
final List<MenuEntry?> menuEntries;
final List<MenuItem?> menuEntries;
final bool isGrid;
MenuViewState({this.menuEntries = const [], this.isGrid = false});
MenuViewState copyWith({List<MenuEntry?>? menuEntries, bool? isGrid}) {
MenuViewState copyWith({List<MenuItem?>? menuEntries, bool? isGrid}) {
return MenuViewState(
menuEntries: menuEntries ?? this.menuEntries,
isGrid: isGrid ?? this.isGrid,
@ -29,9 +30,11 @@ class MenuViewState {
class MenuViewBloc extends Bloc<MenuViewEvent, MenuViewState> {
final MenuView style;
final MenuItem item;
final EnumMenuItem item;
final bool expandable;
final List<BaseEntry> menuOptions;
final List<MenuEntry> menuOptions;
late StreamSubscription<void> _completer;
MenuViewBloc({required this.style, required this.item, required this.expandable, required this.menuOptions}) : super(MenuViewState()) {
on<MenuViewEvent>((event, emit) async {
@ -39,29 +42,39 @@ class MenuViewBloc extends Bloc<MenuViewEvent, MenuViewState> {
final entries = await generateMenuEntries();
emit(state.copyWith(menuEntries: entries));
});
_completer = LicenseRemoteDataSourceImpl().streamCompleterController.listen((_) {
add(MenuViewEvent());
});
}
Future<MenuEntry?> addMenuEntry(List<MenuEntry?> entries, IconData icon, String text, Function() action) async {
@override
Future<void> close() {
_completer.cancel();
return super.close();
}
Future<MenuItem?> addMenuEntry(List<MenuItem?> entries, IconData icon, String text, Function() action) async {
entries.add(
item == MenuItem.button
item == EnumMenuItem.button
? MenuButtonWidget(icon: icon, action: action, title: text)
: item == MenuItem.card
: item == EnumMenuItem.card
? MenuCardItem(icon: icon, action: action, title: text)
: item == MenuItem.tile
: item == EnumMenuItem.tile
? MenuCardItem(icon: icon, action: action, title: text)
: null,
);
return null;
}
Future<List<MenuEntry?>> generateMenuEntries() async {
List<MenuEntry?> entries = [];
Future<List<MenuItem?>> generateMenuEntries() async {
List<MenuItem?> entries = [];
try {
for (var opt in menuOptions) {
String? licenseValue = await LicenseRepositoryImpl().g(opt.value);
if (licenseValue != null) {
Map<String, String> licenseMap = await stringToMap(licenseValue);
if (opt.value == Modules.aboutProperty.value) log('AboutProperty: $licenseMap');
if (opt.value == 'FRE-HUB-PROPERTY') log('AboutProperty: $licenseMap');
log('Module: ${opt.value} - License: ${licenseMap['display']}');
final String display = licenseMap['display'] ?? 'INVISIVEL';
final String startDate = licenseMap['startDate'] ?? '';
@ -81,7 +94,7 @@ class MenuViewBloc extends Bloc<MenuViewEvent, MenuViewState> {
return entries;
}
Future<void> processDisplay(String display, BaseEntry opt, List<MenuEntry?> entries) async {
Future<void> processDisplay(String display, MenuEntry opt, List<MenuItem?> entries) async {
try {
switch (display) {
case 'VISIVEL':
@ -103,7 +116,7 @@ class MenuViewBloc extends Bloc<MenuViewEvent, MenuViewState> {
}
}
Future<bool> processStartDate(String startDate, BaseEntry opt) async {
Future<bool> processStartDate(String startDate, MenuEntry opt) async {
try {
if (startDate.isEmpty) return true;
final DateTime? start = DateTime.tryParse(startDate);
@ -116,7 +129,7 @@ class MenuViewBloc extends Bloc<MenuViewEvent, MenuViewState> {
return false;
}
Future<bool> processExpirationDate(String expirationDate, BaseEntry opt) async {
Future<bool> processExpirationDate(String expirationDate, MenuEntry opt) async {
try {
if (expirationDate.isEmpty) return false;
final DateTime? expiration = DateTime.tryParse(expirationDate);

View File

@ -3,7 +3,7 @@ import 'package:hub/flutter_flow/internationalization.dart';
import 'package:hub/flutter_flow/nav/nav.dart';
import 'package:hub/shared/components/molecules/menu/index.dart';
enum DrawerMenuEntries implements BaseEntry {
enum DrawerMenuEntries implements MenuEntry {
providerSchedule,
deliverySchedule,
fastPass,
@ -220,4 +220,5 @@ enum DrawerMenuEntries implements BaseEntry {
return '';
}
}
}

View File

@ -3,7 +3,7 @@ import 'package:hub/flutter_flow/internationalization.dart';
import 'package:hub/flutter_flow/nav/nav.dart';
import 'package:hub/shared/components/molecules/menu/index.dart';
enum HomeMenuEntries implements BaseEntry {
enum HomeMenuEntries implements MenuEntry {
providerSchedule,
deliverySchedule,
fastPass,
@ -210,4 +210,6 @@ enum HomeMenuEntries implements BaseEntry {
return '';
}
}
}

View File

@ -6,7 +6,7 @@ enum MenuEntries {
drawer,
AboutProperty;
List<BaseEntry> get getValues {
List<MenuEntry> get getValues {
switch (this) {
case MenuEntries.home:
return HomeMenuEntries.values.toList();
@ -19,7 +19,7 @@ enum MenuEntries {
}
class MenuEntryFactory {
static List<BaseEntry> createMenuEntry(BaseEntry type) {
static List<MenuEntry> createMenuEntry(MenuEntry type) {
switch (type) {
case HomeMenuEntries _:
return HomeMenuEntries.values.toList();
@ -32,7 +32,7 @@ class MenuEntryFactory {
}
}
List<BaseEntry> buildMenuEntry(BaseEntry type) {
List<MenuEntry> buildMenuEntry(MenuEntry type) {
return createMenuEntry(type);
}
}

View File

@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:hub/shared/components/molecules/menu/index.dart';
enum AboutPropertyMenuEntries implements BaseEntry {
enum AboutPropertyMenuEntries implements MenuEntry {
residents,
vehicles,
openedVisits,
@ -64,4 +64,6 @@ enum AboutPropertyMenuEntries implements BaseEntry {
return '/petsOnThePropertyPage';
}
}
}

View File

@ -4,7 +4,7 @@ import 'package:hub/shared/components/molecules/menu/index.dart';
class MenuFactory extends StatelessWidget {
final MenuView menuView;
final MenuEntries menuEntry;
final MenuItem menuItem;
final EnumMenuItem menuItem;
const MenuFactory({
super.key,

View File

@ -1,4 +1,3 @@
export 'menu_item.dart';
export 'menu_item_button.dart';
export 'menu_item_card.dart';
export 'menu_item_factory.dart';

View File

@ -1,10 +1,10 @@
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:hub/flutter_flow/flutter_flow_theme.dart';
import 'package:hub/shared/components/molecules/menu/index.dart';
import 'menu_item.dart';
class MenuButtonWidget extends MenuEntry {
class MenuButtonWidget extends MenuItem {
const MenuButtonWidget({
super.key,
required this.action,

View File

@ -1,10 +1,10 @@
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:hub/flutter_flow/flutter_flow_theme.dart';
import 'package:hub/shared/components/molecules/menu/index.dart';
import 'menu_item.dart';
class MenuCardItem extends MenuEntry {
class MenuCardItem extends MenuItem {
const MenuCardItem({
super.key,
required this.action,

View File

@ -2,18 +2,18 @@ import 'package:flutter/material.dart';
import 'package:hub/shared/components/molecules/menu/index.dart';
class MenuItemFactory {
static MenuEntry createMenuItem(
MenuItem type, {
static MenuItem createMenuItem(
EnumMenuItem type, {
Key? key,
required Function() action,
required String title,
required IconData icon,
}) {
return MenuEntry.create(type, key: key, action: action, title: title, icon: icon);
return MenuItem.create(type, key: key, action: action, title: title, icon: icon);
}
MenuEntry buildMenuItem(
MenuItem type, {
MenuItem buildMenuItem(
EnumMenuItem type, {
Key? key,
required Function() action,
required String title,

View File

@ -25,8 +25,8 @@ class MenuListView extends StatefulWidget {
});
final bool expandable;
final MenuItem item;
final List<MenuEntry?> options;
final EnumMenuItem item;
final List<MenuItem?> options;
final Future Function()? changeMenuStyle;
@override
@ -62,11 +62,11 @@ class _MenuListViewState extends State<MenuListView> {
Widget buildMenuItem(BuildContext context) {
switch (widget.item) {
case MenuItem.button:
case EnumMenuItem.button:
return _buildButtonListView();
case MenuItem.card:
case EnumMenuItem.card:
return _buildCardListView();
case MenuItem.tile:
case EnumMenuItem.tile:
return buildMenuList(context);
}
}

View File

@ -16,9 +16,9 @@ class MenuStaggeredView extends StatefulWidget {
const MenuStaggeredView({super.key, required this.changeMenuStyle, required this.expandable, required this.item, required this.options, required this.isGrid});
final bool expandable;
final MenuItem item;
final EnumMenuItem item;
final bool isGrid;
final List<MenuEntry?> options;
final List<MenuItem?> options;
final Future Function()? changeMenuStyle;
@override

View File

@ -8,7 +8,7 @@ import 'package:hub/shared/components/molecules/menu/index.dart';
class MenuViewFactory extends StatelessWidget {
final MenuView view;
final MenuItem item;
final EnumMenuItem item;
final bool expandable;
final MenuEntries entry;
@ -22,7 +22,7 @@ class MenuViewFactory extends StatelessWidget {
@override
Widget build(BuildContext context) {
return StreamBuilder<TModule>(
return StreamBuilder<LicenseStatus>(
stream: LicenseRepositoryImpl.stream,
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {

View File

@ -66,15 +66,18 @@ class LicenseLocalDataSourceImpl implements LicenseLocalDataSource {
await DatabaseStorage.instance.init();
}
Future<void> setByKey(final List<String> key, final String display) async {
Future<void> setByKey(final List<String?> key, final String display) async {
if (key.isEmpty) return;
for (var element in key) {
log('setByKey($element, $display)');
await s(element, {
'display': display,
'expirationDate': '',
'startDate': '',
'quantity': '',
});
if (element != null) {
log('setByKey($element, $display)');
await s(element, {
'display': display,
'expirationDate': '',
'startDate': '',
'quantity': '',
});
}
}
}

View File

@ -22,44 +22,49 @@ class LicenseRemoteDataSourceImpl implements LicenseRemoteDataSource {
factory LicenseRemoteDataSourceImpl() => _instance;
LicenseRemoteDataSourceImpl._internal();
final Completer<void> _saveCompleter = Completer<void>();
final StreamController<void> _completerController = StreamController<void>.broadcast();
Stream<void> get streamCompleterController => _completerController.stream;
@override
Future<void> processLicense() async {
// if (body['key'] == Module.pets.value && body['display'] == 'VISIVEL') {
// await LicenseHelper().s(Module.petsHistory.value, body);
// }
// final bool isAboutProperty = AboutPropertyModules.values.contains(body['key']);
// final bool isVisible = body['display'] == 'VISIVEL';
// log('contains () => ${body['key']} - $isAboutProperty');
// if (isAboutProperty && isVisible) {
// await LicenseHelper().s(Module.aboutProperty.value, body);
// }
}
Future<void> processLicense() async {}
@override
Future<void> cleanLicense() async {
LicenseRepositoryImpl.license.add([]);
LicenseRepositoryImpl.license.add(false);
}
@override
@override
Future<void> setupLicense(Database database, bool isNewVersion) async {
log('(B) => license');
final License license = License.getLicense(isNewVersion);
final List<String> inactiveModuleKey = InactiveModuleKey.values.map((e) => e.value).toList();
final List<String> activeModuleKey = ActiveModuleKey.values.map((e) => e.value).toList();
final List<String> disabledModuleKey = DisabledModuleKey.values.map((e) => e.value).toList();
final List<String> inactiveModuleKey = license.modules
.where((module) => module.display == ModuleStatus.inactive.key)
.map((module) => module.key)
.toList();
final List<String> activeModuleKey = license.modules
.where((module) => module.display == ModuleStatus.active.key)
.map((module) => module.key)
.toList();
final List<String> disabledModuleKey = license.modules
.where((module) => module.display == ModuleStatus.disabled.key)
.map((module) => module.key)
.toList();
await LicenseLocalDataSourceImpl().setByKey(inactiveModuleKey, 'INVISIVEL');
await LicenseLocalDataSourceImpl().setByKey(activeModuleKey, 'VISIVEL');
if (isNewVersion == true) {
await LicenseLocalDataSourceImpl().setByKey(disabledModuleKey, 'VISIVEL');
await LicenseLocalDataSourceImpl().setByKey([Modules.aboutProperty.value], 'VISIVEL');
await LicenseLocalDataSourceImpl().setByKey(['FRE-HUB-PROPERTY'], 'VISIVEL');
} else {
await LicenseLocalDataSourceImpl().setByKey(disabledModuleKey, 'DESABILITADO');
}
LicenseRepositoryImpl.license.add([...activeModuleKey]);
_saveCompleter.complete();
LicenseRepositoryImpl.license.add(true);
}
@override
@ -83,7 +88,7 @@ class LicenseRemoteDataSourceImpl implements LicenseRemoteDataSource {
if (responseBody == []) {
await setupLicense(DatabaseStorage.database, isNewVersion);
LicenseRepositoryImpl.license.add([]);
LicenseRepositoryImpl.license.add(false);
return false;
}
@ -96,8 +101,9 @@ class LicenseRemoteDataSourceImpl implements LicenseRemoteDataSource {
await Future.wait(saveOperations);
log('() => License stream add');
LicenseRepositoryImpl.license.add(responseBody);
_saveCompleter.complete();
LicenseRepositoryImpl.license.add(true);
_completerController.add(null);
return true;
} catch (e) {
log('Erro ao obter licenças: $e');
@ -107,11 +113,11 @@ class LicenseRemoteDataSourceImpl implements LicenseRemoteDataSource {
}
Future<void> waitForSaveCompletion() async {
await _saveCompleter.future;
await LicenseRepositoryImpl.stream;
}
static bool licenseContainsKey(final String key) {
return Modules.values.map((e) => e.value).toList().contains(key);
return License.mods.contains(key);
}
static Future<void> _saveModule(final dynamic body) async {

View File

@ -5,7 +5,7 @@ import 'package:hub/shared/helpers/database/database_helper.dart';
import 'package:rxdart/rxdart.dart';
import 'package:sqflite/sqflite.dart';
typedef TModule = List<dynamic>;
typedef LicenseStatus = bool;
class LicenseRepositoryImpl implements LicenseRepository {
final LicenseLocalDataSource localDataSource = LicenseLocalDataSourceImpl();
@ -14,7 +14,7 @@ class LicenseRepositoryImpl implements LicenseRepository {
LicenseRepositoryImpl();
static final license = BehaviorSubject<TModule>();
static final license = BehaviorSubject<LicenseStatus>();
static get stream => license.stream;
Future<bool> fetchLicense(bool isNewVersion) async {

View File

@ -1,51 +0,0 @@
import 'package:flutter/material.dart';
import 'package:hub/shared/components/molecules/modules/index.dart';
enum ActiveModuleKey implements BaseModule {
messages,
liberations,
access,
completeSchedule,
providerSchedule,
deliverySchedule,
qrCode,
visitors,
peopleOnTheProperty,
settings,
logout;
@override
IconData get icon => throw UnimplementedError();
@override
String get name => throw UnimplementedError();
@override
String get route => throw UnimplementedError();
@override
String get value {
switch (this) {
case ActiveModuleKey.messages:
return 'FRE-HUB-MESSAGES';
case ActiveModuleKey.liberations:
return 'FRE-HUB-LIBERATIONS';
case ActiveModuleKey.access:
return 'FRE-HUB-ACCESS';
case ActiveModuleKey.completeSchedule:
return 'FRE-HUB-COMPLETE-SCHEDULE';
case ActiveModuleKey.providerSchedule:
return 'FRE-HUB-AGE-PROV-PRESTADOR';
case ActiveModuleKey.deliverySchedule:
return 'FRE-HUB-AGE-PROV-DELIVERY';
case ActiveModuleKey.visitors:
return 'FRE-HUB-VISITORS';
case ActiveModuleKey.qrCode:
return 'FRE-HUB-QRCODE';
case ActiveModuleKey.peopleOnTheProperty:
return 'FRE-HUB-PEOPLE';
default:
return '';
}
}
}

View File

@ -1,26 +0,0 @@
import 'package:flutter/material.dart';
import 'package:hub/shared/components/molecules/modules/index.dart';
enum DisabledModuleKey implements BaseModule {
fastPass;
@override
IconData get icon => throw UnimplementedError();
@override
String get name => throw UnimplementedError();
@override
String get route => throw UnimplementedError();
@override
String get value {
switch (this) {
case DisabledModuleKey.fastPass:
return 'FRE-HUB-FASTPASS';
default:
return '';
}
}
}

View File

@ -1,47 +0,0 @@
import 'package:flutter/material.dart';
import 'package:hub/shared/components/molecules/modules/index.dart';
enum InactiveModuleKey implements BaseModule {
residents,
vehicles,
openedVisits,
petsHistory,
pets,
orders,
fastpass,
reservations,
aboutProperty;
@override
IconData get icon => throw UnimplementedError();
@override
String get name => throw UnimplementedError();
@override
String get route => throw UnimplementedError();
@override
String get value {
switch (this) {
case InactiveModuleKey.openedVisits:
return 'FRE-HUB-OPENED-VISITS';
case InactiveModuleKey.vehicles:
return 'FRE-HUB-VEHICLES';
case InactiveModuleKey.residents:
return 'FRE-HUB-RESIDENTS';
case InactiveModuleKey.petsHistory:
return 'FRE-HUB-PETS-HISTORY';
case InactiveModuleKey.aboutProperty:
return 'FRE-HUB-PROPERTY';
case InactiveModuleKey.pets:
return 'FRE-HUB-PETS';
case InactiveModuleKey.orders:
return 'FRE-HUB-ORDERS';
case InactiveModuleKey.reservations:
return 'FRE-HUB-RESERVATIONS';
default:
return '';
}
}
}

View File

@ -1,7 +1,4 @@
export 'active_modules.dart';
export 'base_module.dart';
export 'disabled_modules.dart';
export 'inactive_modules.dart';
export 'license.dart';
export 'module.dart';
export 'modules.dart';

View File

@ -1,26 +1,761 @@
import 'package:equatable/equatable.dart';
import 'package:hub/shared/extensions/string_extensions.dart';
import 'package:hub/shared/helpers/database/database_helper.dart';
import 'package:hub/shared/helpers/storage/base_storage.dart';
import 'package:hub/shared/helpers/storage/storage_helper.dart';
import 'module.dart';
enum ModuleStatus { active, inactive, disabled }
class License {
final List<Module> modules;
extension ModuleStatusExtension on ModuleStatus {
String get value {
switch (this) {
case ModuleStatus.active:
return 'VISIVEL';
case ModuleStatus.inactive:
return 'INVISIVEL';
case ModuleStatus.disabled:
return 'DESABILITADO';
}
const License(
this.modules,
);
static List<String> mods = [
'FRE-HUB-MESSAGES',
'FRE-HUB-LIBERATIONS',
'FRE-HUB-RESERVATIONS',
'FRE-HUB-ACCESS',
'FRE-HUB-OPENED-VISITS',
'FRE-HUB-VEHICLES',
'FRE-HUB-RESIDENTS',
'FRE-HUB-PETS',
'FRE-HUB-ORDERS',
'FRE-HUB-COMPLETE-SCHEDULE',
'FRE-HUB-AGE-PROV-PRESTADOR',
'FRE-HUB-AGE-PROV-DELIVERY',
'FRE-HUB-PROPERTY',
'FRE-HUB-FASTPASS',
'FRE-HUB-VISITORS',
'FRE-HUB-QRCODE',
'FRE-HUB-PEOPLE',
'FRE-HUB-PETS-HISTORY'
];
void processOldVersion() async {
final bool whatsapp = await StorageHelper().g(KeychainStorageKey.whatsapp as String).then((v) => v.toBoolean());
final bool provisional = await StorageHelper().g(KeychainStorageKey.provisional as String).then((v) => v.toBoolean());
final bool pets = await StorageHelper().g(KeychainStorageKey.pets as String).then((v) => v.toBoolean());
}
factory License.getLicense(bool isNewVersion) {
return License([
Module(
key: 'FRE-HUB-MESSAGES',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.active.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-LIBERATIONS',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.active.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-RESERVATIONS',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.inactive.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-ACCESS',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.active.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-OPENED-VISITS',
display: isNewVersion ? ModuleStatus.inactive.key : ModuleStatus.inactive.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-VEHICLES',
display: isNewVersion ? ModuleStatus.inactive.key : ModuleStatus.inactive.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-RESIDENTS',
display: isNewVersion ? ModuleStatus.inactive.key : ModuleStatus.inactive.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-PETS',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.inactive.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-ORDERS',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.active.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-COMPLETE-SCHEDULE',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.active.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-AGE-PROV-PRESTADOR',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.active.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-AGE-PROV-DELIVERY',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.active.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-FASTPASS',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.inactive.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-QRCODE',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.active.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-VISITORS',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.active.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-PROPERTY',
display: isNewVersion ? ModuleStatus.inactive.key : ModuleStatus.inactive.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-PEOPLE',
display: isNewVersion ? ModuleStatus.inactive.key : ModuleStatus.active.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-PETS-HISTORY',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.inactive.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
]
);
}
}
class License extends Equatable {
final List<Module> modules;
// import 'package:equatable/equatable.dart';
// import 'module.dart';
const License({required this.modules});
// import 'package:flutter/material.dart';
// import 'package:hub/flutter_flow/internationalization.dart';
// import 'package:hub/flutter_flow/nav/nav.dart';
// import 'package:hub/shared/components/molecules/modules/index.dart';
@override
List<Object?> get props => [modules];
}
// enum ModuleStatus { active, inactive, disabled }
// extension ModuleStatusExtension on ModuleStatus {
// String get value {
// switch (this) {
// case ModuleStatus.active:
// return 'VISIVEL';
// case ModuleStatus.inactive:
// return 'INVISIVEL';
// case ModuleStatus.disabled:
// return 'DESABILITADO';
// }
// }
// }
// class ModuleExt {
// final String value;
// final String name;
// final IconData icon;
// final String route;
// final (ModuleStatus inOldVersion, ModuleStatus inNewVersion) status;
// const ModuleExt({
// required this.value,
// required this.name,
// required this.icon,
// required this.route,
// required this.status,
// });
// static List<ModuleExt> get license => [
// ModuleExt(
// value: 'FRE-HUB-MESSAGES',
// name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Consultar Mensagens',
// enText: 'Messages History',
// ),
// icon: Icons.chat_outlined,
// route: '/messageHistoryPage',
// status: (ModuleStatus.active, ModuleStatus.disabled),
// ),
// ];
// }
// enum EModule implements BaseModule {
// providerSchedule,
// deliverySchedule,
// fastPass,
// completeSchedule,
// orders,
// reservations,
// visitors,
// vehicles,
// residents,
// openedVisits,
// qrCode,
// pets,
// access,
// liberations,
// messages,
// aboutProperty,
// petsHistory,
// peopleOnTheProperty,
// settings,
// logout;
// @override
// String get value {
// switch (this) {
// case Module.messages:
// return 'FRE-HUB-MESSAGES';
// case Module.liberations:
// return 'FRE-HUB-LIBERATIONS';
// case Module.reservations:
// return 'FRE-HUB-RESERVATIONS';
// case Module.access:
// return 'FRE-HUB-ACCESS';
// case Module.openedVisits:
// return 'FRE-HUB-OPENED-VISITS';
// case Module.vehicles:
// return 'FRE-HUB-VEHICLES';
// case Module.residents:
// return 'FRE-HUB-RESIDENTS';
// case Module.pets:
// return 'FRE-HUB-PETS';
// case Module.orders:
// return 'FRE-HUB-ORDERS';
// case Module.completeSchedule:
// return 'FRE-HUB-COMPLETE-SCHEDULE';
// case Module.providerSchedule:
// return 'FRE-HUB-AGE-PROV-PRESTADOR';
// case Module.deliverySchedule:
// return 'FRE-HUB-AGE-PROV-DELIVERY';
// case Module.aboutProperty:
// return 'FRE-HUB-PROPERTY';
// case Module.fastPass:
// return 'FRE-HUB-FASTPASS';
// case Module.visitors:
// return 'FRE-HUB-VISITORS';
// case Module.qrCode:
// return 'FRE-HUB-QRCODE';
// case Module.peopleOnTheProperty:
// return 'FRE-HUB-PEOPLE';
// case Module.petsHistory:
// return 'FRE-HUB-PETS-HISTORY';
// default:
// return '';
// }
// }
// @override
// String get name {
// switch (this) {
// case Module.messages:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Consultar Mensagens',
// enText: 'Messages History',
// );
// case Module.liberations:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Consultar Liberações',
// enText: 'Liberations History',
// );
// case Module.reservations:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Reservas',
// enText: 'Reservations',
// );
// case Module.access:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Consultar Acessos',
// enText: 'Access History',
// );
// case Module.openedVisits:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Visitas em Aberto',
// enText: 'Opened Visits',
// );
// case Module.vehicles:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Veículos',
// enText: 'Vehicles',
// );
// case Module.residents:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Moradores',
// enText: 'Residents',
// );
// case Module.pets:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Pets',
// enText: 'Pets',
// );
// case Module.petsHistory:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Pets',
// enText: 'Pets',
// );
// case Module.peopleOnTheProperty:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Pessoas na Propriedade',
// enText: 'People on the Property',
// );
// case Module.orders:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Minhas Encomendas',
// enText: 'My Orders',
// );
// case Module.completeSchedule:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Agenda Completa',
// enText: 'Complete Schedule',
// );
// case Module.providerSchedule:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Agendar Prestadores',
// enText: 'Schedule Providers',
// );
// case Module.deliverySchedule:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Agendar Delivery',
// enText: 'Schedule Delivery',
// );
// case Module.fastPass:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Fast Pass',
// enText: 'Fast Pass',
// );
// case Module.qrCode:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'QRCode de Acesso',
// enText: 'Access QRCode',
// );
// case Module.visitors:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Cadastrar Visitantes',
// enText: 'Register Visitors',
// );
// case Module.aboutProperty:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Sobre a Propriedade',
// enText: 'About the Property',
// );
// case Module.settings:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Configurações',
// enText: 'Settings',
// );
// case Module.logout:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Sair',
// enText: 'Logout',
// );
// }
// }
// @override
// IconData get icon {
// switch (this) {
// case Module.messages:
// return Icons.chat_outlined;
// case Module.liberations:
// return Icons.how_to_reg_outlined;
// case Module.reservations:
// return Icons.event_available;
// case Module.access:
// return Icons.transfer_within_a_station_outlined;
// case Module.openedVisits:
// return Icons.perm_contact_calendar;
// case Module.vehicles:
// return Icons.directions_car;
// case Module.residents:
// return Icons.groups;
// case Module.pets:
// return Icons.pets;
// case Module.petsHistory:
// return Icons.pets;
// case Module.peopleOnTheProperty:
// return Icons.groups;
// case Module.orders:
// return Icons.inventory_2_outlined;
// case Module.completeSchedule:
// return Icons.event;
// case Module.providerSchedule:
// return Icons.engineering_outlined;
// case Module.deliverySchedule:
// return Icons.sports_motorsports_outlined;
// case Module.fastPass:
// return Icons.attach_email_outlined;
// case Module.qrCode:
// return Icons.qr_code;
// case Module.visitors:
// return Icons.person_add_alt_1_outlined;
// case Module.aboutProperty:
// return Icons.home;
// case Module.settings:
// return Icons.settings;
// case Module.logout:
// return Icons.logout;
// }
// }
// @override
// String get route {
// switch (this) {
// case Module.messages:
// return '/messageHistoryPage';
// case Module.liberations:
// return '/liberationHistory';
// case Module.reservations:
// return '/reservation';
// case Module.access:
// return '/acessHistoryPage';
// case Module.openedVisits:
// return '/visitsOnThePropertyPage';
// case Module.vehicles:
// return '/vehiclesOnThePropertyPage';
// case Module.residents:
// return '/residentsOnThePropertyPage';
// case Module.pets:
// return '/petsPage';
// case Module.petsHistory:
// return '/petsHistoryPage';
// case Module.peopleOnTheProperty:
// return '/peopleOnThePropertyPage';
// case Module.orders:
// return '/packageOrder';
// case Module.completeSchedule:
// return '/scheduleCompleteVisitPage';
// case Module.providerSchedule:
// return '/provisionalSchedule';
// case Module.aboutProperty:
// return '/aboutProperty';
// case Module.deliverySchedule:
// return '/deliverySchedule';
// case Module.fastPass:
// return '/fastPassPage';
// case Module.qrCode:
// return '/qrCodePage';
// case Module.visitors:
// return '/registerVisitorPage';
// case Module.settings:
// return '/preferencesSettings';
// case Module.logout:
// return '/WelcomePage';
// default:
// return '';
// }
// }
// }
// enum ELicense implements BaseModule {
// providerSchedule,
// deliverySchedule,
// fastPass,
// completeSchedule,
// orders,
// reservations,
// visitors,
// vehicles,
// residents,
// openedVisits,
// qrCode,
// pets,
// access,
// liberations,
// messages,
// aboutProperty,
// petsHistory,
// peopleOnTheProperty,
// settings,
// logout;
// @override
// String get value {
// switch (this) {
// case License.messages:
// return 'FRE-HUB-MESSAGES';
// case License.liberations:
// return 'FRE-HUB-LIBERATIONS';
// case License.reservations:
// return 'FRE-HUB-RESERVATIONS';
// case License.access:
// return 'FRE-HUB-ACCESS';
// case License.openedVisits:
// return 'FRE-HUB-OPENED-VISITS';
// case License.vehicles:
// return 'FRE-HUB-VEHICLES';
// case License.residents:
// return 'FRE-HUB-RESIDENTS';
// case License.pets:
// return 'FRE-HUB-PETS';
// case License.orders:
// return 'FRE-HUB-ORDERS';
// case License.completeSchedule:
// return 'FRE-HUB-COMPLETE-SCHEDULE';
// case License.providerSchedule:
// return 'FRE-HUB-AGE-PROV-PRESTADOR';
// case License.deliverySchedule:
// return 'FRE-HUB-AGE-PROV-DELIVERY';
// case License.aboutProperty:
// return 'FRE-HUB-PROPERTY';
// case License.fastPass:
// return 'FRE-HUB-FASTPASS';
// case License.visitors:
// return 'FRE-HUB-VISITORS';
// case License.qrCode:
// return 'FRE-HUB-QRCODE';
// case License.peopleOnTheProperty:
// return 'FRE-HUB-PEOPLE';
// case License.petsHistory:
// return 'FRE-HUB-PETS-HISTORY';
// default:
// return '';
// }
// }
// @override
// String get name {
// switch (this) {
// case License.messages:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Consultar Mensagens',
// enText: 'Messages History',
// );
// case License.liberations:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Consultar Liberações',
// enText: 'Liberations History',
// );
// case License.reservations:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Reservas',
// enText: 'Reservations',
// );
// case License.access:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Consultar Acessos',
// enText: 'Access History',
// );
// case License.openedVisits:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Visitas em Aberto',
// enText: 'Opened Visits',
// );
// case License.vehicles:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Veículos',
// enText: 'Vehicles',
// );
// case License.residents:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Moradores',
// enText: 'Residents',
// );
// case License.pets:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Pets',
// enText: 'Pets',
// );
// case License.petsHistory:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Pets',
// enText: 'Pets',
// );
// case License.peopleOnTheProperty:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Pessoas na Propriedade',
// enText: 'People on the Property',
// );
// case License.orders:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Minhas Encomendas',
// enText: 'My Orders',
// );
// case License.completeSchedule:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Agenda Completa',
// enText: 'Complete Schedule',
// );
// case License.providerSchedule:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Agendar Prestadores',
// enText: 'Schedule Providers',
// );
// case License.deliverySchedule:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Agendar Delivery',
// enText: 'Schedule Delivery',
// );
// case License.fastPass:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Fast Pass',
// enText: 'Fast Pass',
// );
// case License.qrCode:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'QRCode de Acesso',
// enText: 'Access QRCode',
// );
// case License.visitors:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Cadastrar Visitantes',
// enText: 'Register Visitors',
// );
// case License.aboutProperty:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Sobre a Propriedade',
// enText: 'About the Property',
// );
// case License.settings:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Configurações',
// enText: 'Settings',
// );
// case License.logout:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Sair',
// enText: 'Logout',
// );
// }
// }
// @override
// IconData get icon {
// switch (this) {
// case License.messages:
// return Icons.chat_outlined;
// case License.liberations:
// return Icons.how_to_reg_outlined;
// case License.reservations:
// return Icons.event_available;
// case License.access:
// return Icons.transfer_within_a_station_outlined;
// case License.openedVisits:
// return Icons.perm_contact_calendar;
// case License.vehicles:
// return Icons.directions_car;
// case License.residents:
// return Icons.groups;
// case License.pets:
// return Icons.pets;
// case License.petsHistory:
// return Icons.pets;
// case License.peopleOnTheProperty:
// return Icons.groups;
// case License.orders:
// return Icons.inventory_2_outlined;
// case License.completeSchedule:
// return Icons.event;
// case License.providerSchedule:
// return Icons.engineering_outlined;
// case License.deliverySchedule:
// return Icons.sports_motorsports_outlined;
// case License.fastPass:
// return Icons.attach_email_outlined;
// case License.qrCode:
// return Icons.qr_code;
// case License.visitors:
// return Icons.person_add_alt_1_outlined;
// case License.aboutProperty:
// return Icons.home;
// case License.settings:
// return Icons.settings;
// case License.logout:
// return Icons.logout;
// }
// }
// @override
// String get route {
// switch (this) {
// case License.messages:
// return '/messageHistoryPage';
// case License.liberations:
// return '/liberationHistory';
// case License.reservations:
// return '/reservation';
// case License.access:
// return '/acessHistoryPage';
// case License.openedVisits:
// return '/visitsOnThePropertyPage';
// case License.vehicles:
// return '/vehiclesOnThePropertyPage';
// case License.residents:
// return '/residentsOnThePropertyPage';
// case License.pets:
// return '/petsPage';
// case License.petsHistory:
// return '/petsHistoryPage';
// case License.peopleOnTheProperty:
// return '/peopleOnThePropertyPage';
// case License.orders:
// return '/packageOrder';
// case License.completeSchedule:
// return '/scheduleCompleteVisitPage';
// case License.providerSchedule:
// return '/provisionalSchedule';
// case License.aboutProperty:
// return '/aboutProperty';
// case License.deliverySchedule:
// return '/deliverySchedule';
// case License.fastPass:
// return '/fastPassPage';
// case License.qrCode:
// return '/qrCodePage';
// case License.visitors:
// return '/registerVisitorPage';
// case License.settings:
// return '/preferencesSettings';
// case License.logout:
// return '/WelcomePage';
// default:
// return '';
// }
// }
// }

View File

@ -1,5 +1,22 @@
import 'package:hub/shared/components/molecules/modules/data/models/module_model.dart';
enum ModuleStatus { active, inactive, disabled }
extension ModuleStatusExtension on ModuleStatus {
String get key {
switch (this) {
case ModuleStatus.active:
return 'VISIVEL';
case ModuleStatus.inactive:
return 'INVISIVEL';
case ModuleStatus.disabled:
return 'DESABILITADO';
}
}
}
class Module {
final String key;
final String display;
@ -7,12 +24,14 @@ class Module {
final String startDate;
final int quantity;
Module({
required this.key,
required this.display,
required this.expirationDate,
required this.startDate,
required this.quantity,
});
factory Module.fromModel(ModuleModel model) {
@ -34,4 +53,6 @@ class Module {
quantity: quantity,
);
}
}

View File

@ -1,271 +0,0 @@
import 'package:flutter/material.dart';
import 'package:hub/flutter_flow/internationalization.dart';
import 'package:hub/flutter_flow/nav/nav.dart';
import 'package:hub/shared/components/molecules/modules/index.dart';
enum Modules implements BaseModule {
providerSchedule,
deliverySchedule,
fastPass,
completeSchedule,
orders,
reservations,
visitors,
vehicles,
residents,
openedVisits,
qrCode,
pets,
access,
liberations,
messages,
aboutProperty,
petsHistory,
peopleOnTheProperty,
settings,
logout;
@override
String get value {
switch (this) {
case Modules.messages:
return 'FRE-HUB-MESSAGES';
case Modules.liberations:
return 'FRE-HUB-LIBERATIONS';
case Modules.reservations:
return 'FRE-HUB-RESERVATIONS';
case Modules.access:
return 'FRE-HUB-ACCESS';
case Modules.openedVisits:
return 'FRE-HUB-OPENED-VISITS';
case Modules.vehicles:
return 'FRE-HUB-VEHICLES';
case Modules.residents:
return 'FRE-HUB-RESIDENTS';
case Modules.pets:
return 'FRE-HUB-PETS';
case Modules.orders:
return 'FRE-HUB-ORDERS';
case Modules.completeSchedule:
return 'FRE-HUB-COMPLETE-SCHEDULE';
case Modules.providerSchedule:
return 'FRE-HUB-AGE-PROV-PRESTADOR';
case Modules.deliverySchedule:
return 'FRE-HUB-AGE-PROV-DELIVERY';
case Modules.aboutProperty:
return 'FRE-HUB-PROPERTY';
case Modules.fastPass:
return 'FRE-HUB-FASTPASS';
case Modules.visitors:
return 'FRE-HUB-VISITORS';
case Modules.qrCode:
return 'FRE-HUB-QRCODE';
case Modules.peopleOnTheProperty:
return 'FRE-HUB-PEOPLE';
case Modules.petsHistory:
return 'FRE-HUB-PETS-HISTORY';
default:
return '';
}
}
@override
String get name {
switch (this) {
case Modules.messages:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Consultar Mensagens',
enText: 'Messages History',
);
case Modules.liberations:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Consultar Liberações',
enText: 'Liberations History',
);
case Modules.reservations:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Reservas',
enText: 'Reservations',
);
case Modules.access:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Consultar Acessos',
enText: 'Access History',
);
case Modules.openedVisits:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Visitas em Aberto',
enText: 'Opened Visits',
);
case Modules.vehicles:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Veículos',
enText: 'Vehicles',
);
case Modules.residents:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Moradores',
enText: 'Residents',
);
case Modules.pets:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Pets',
enText: 'Pets',
);
case Modules.petsHistory:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Pets',
enText: 'Pets',
);
case Modules.peopleOnTheProperty:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Pessoas na Propriedade',
enText: 'People on the Property',
);
case Modules.orders:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Minhas Encomendas',
enText: 'My Orders',
);
case Modules.completeSchedule:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Agenda Completa',
enText: 'Complete Schedule',
);
case Modules.providerSchedule:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Agendar Prestadores',
enText: 'Schedule Providers',
);
case Modules.deliverySchedule:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Agendar Delivery',
enText: 'Schedule Delivery',
);
case Modules.fastPass:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Fast Pass',
enText: 'Fast Pass',
);
case Modules.qrCode:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'QRCode de Acesso',
enText: 'Access QRCode',
);
case Modules.visitors:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Cadastrar Visitantes',
enText: 'Register Visitors',
);
case Modules.aboutProperty:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Sobre a Propriedade',
enText: 'About the Property',
);
case Modules.settings:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Configurações',
enText: 'Settings',
);
case Modules.logout:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Sair',
enText: 'Logout',
);
}
}
@override
IconData get icon {
switch (this) {
case Modules.messages:
return Icons.chat_outlined;
case Modules.liberations:
return Icons.how_to_reg_outlined;
case Modules.reservations:
return Icons.event_available;
case Modules.access:
return Icons.transfer_within_a_station_outlined;
case Modules.openedVisits:
return Icons.perm_contact_calendar;
case Modules.vehicles:
return Icons.directions_car;
case Modules.residents:
return Icons.groups;
case Modules.pets:
return Icons.pets;
case Modules.petsHistory:
return Icons.pets;
case Modules.peopleOnTheProperty:
return Icons.groups;
case Modules.orders:
return Icons.inventory_2_outlined;
case Modules.completeSchedule:
return Icons.event;
case Modules.providerSchedule:
return Icons.engineering_outlined;
case Modules.deliverySchedule:
return Icons.sports_motorsports_outlined;
case Modules.fastPass:
return Icons.attach_email_outlined;
case Modules.qrCode:
return Icons.qr_code;
case Modules.visitors:
return Icons.person_add_alt_1_outlined;
case Modules.aboutProperty:
return Icons.home;
case Modules.settings:
return Icons.settings;
case Modules.logout:
return Icons.logout;
}
}
@override
String get route {
switch (this) {
case Modules.messages:
return '/messageHistoryPage';
case Modules.liberations:
return '/liberationHistory';
case Modules.reservations:
return '/reservation';
case Modules.access:
return '/acessHistoryPage';
case Modules.openedVisits:
return '/visitsOnThePropertyPage';
case Modules.vehicles:
return '/vehiclesOnThePropertyPage';
case Modules.residents:
return '/residentsOnThePropertyPage';
case Modules.pets:
return '/petsPage';
case Modules.petsHistory:
return '/petsHistoryPage';
case Modules.peopleOnTheProperty:
return '/peopleOnThePropertyPage';
case Modules.orders:
return '/packageOrder';
case Modules.completeSchedule:
return '/scheduleCompleteVisitPage';
case Modules.providerSchedule:
return '/provisionalSchedule';
case Modules.aboutProperty:
return '/aboutProperty';
case Modules.deliverySchedule:
return '/deliverySchedule';
case Modules.fastPass:
return '/fastPassPage';
case Modules.qrCode:
return '/qrCodePage';
case Modules.visitors:
return '/registerVisitorPage';
case Modules.settings:
return '/preferencesSettings';
case Modules.logout:
return '/WelcomePage';
default:
return '';
}
}
}

View File

@ -1,699 +0,0 @@
import 'package:flutter/material.dart';
import 'package:hub/flutter_flow/internationalization.dart';
import 'package:hub/flutter_flow/nav/nav.dart';
import 'package:hub/shared/components/molecules/modules/index.dart';
enum Module implements BaseModule {
providerSchedule,
deliverySchedule,
fastPass,
completeSchedule,
orders,
reservations,
visitors,
vehicles,
residents,
openedVisits,
qrCode,
pets,
access,
liberations,
messages,
aboutProperty,
petsHistory,
peopleOnTheProperty,
settings,
logout;
@override
String get value {
switch (this) {
case Module.messages:
return 'FRE-HUB-MESSAGES';
case Module.liberations:
return 'FRE-HUB-LIBERATIONS';
case Module.reservations:
return 'FRE-HUB-RESERVATIONS';
case Module.access:
return 'FRE-HUB-ACCESS';
case Module.openedVisits:
return 'FRE-HUB-OPENED-VISITS';
case Module.vehicles:
return 'FRE-HUB-VEHICLES';
case Module.residents:
return 'FRE-HUB-RESIDENTS';
case Module.pets:
return 'FRE-HUB-PETS';
case Module.orders:
return 'FRE-HUB-ORDERS';
case Module.completeSchedule:
return 'FRE-HUB-COMPLETE-SCHEDULE';
case Module.providerSchedule:
return 'FRE-HUB-AGE-PROV-PRESTADOR';
case Module.deliverySchedule:
return 'FRE-HUB-AGE-PROV-DELIVERY';
case Module.aboutProperty:
return 'FRE-HUB-PROPERTY';
case Module.fastPass:
return 'FRE-HUB-FASTPASS';
case Module.visitors:
return 'FRE-HUB-VISITORS';
case Module.qrCode:
return 'FRE-HUB-QRCODE';
case Module.peopleOnTheProperty:
return 'FRE-HUB-PEOPLE';
case Module.petsHistory:
return 'FRE-HUB-PETS-HISTORY';
default:
return '';
}
}
@override
String get name {
switch (this) {
case Module.messages:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Consultar Mensagens',
enText: 'Messages History',
);
case Module.liberations:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Consultar Liberações',
enText: 'Liberations History',
);
case Module.reservations:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Reservas',
enText: 'Reservations',
);
case Module.access:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Consultar Acessos',
enText: 'Access History',
);
case Module.openedVisits:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Visitas em Aberto',
enText: 'Opened Visits',
);
case Module.vehicles:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Veículos',
enText: 'Vehicles',
);
case Module.residents:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Moradores',
enText: 'Residents',
);
case Module.pets:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Pets',
enText: 'Pets',
);
case Module.petsHistory:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Pets',
enText: 'Pets',
);
case Module.peopleOnTheProperty:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Pessoas na Propriedade',
enText: 'People on the Property',
);
case Module.orders:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Minhas Encomendas',
enText: 'My Orders',
);
case Module.completeSchedule:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Agenda Completa',
enText: 'Complete Schedule',
);
case Module.providerSchedule:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Agendar Prestadores',
enText: 'Schedule Providers',
);
case Module.deliverySchedule:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Agendar Delivery',
enText: 'Schedule Delivery',
);
case Module.fastPass:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Fast Pass',
enText: 'Fast Pass',
);
case Module.qrCode:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'QRCode de Acesso',
enText: 'Access QRCode',
);
case Module.visitors:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Cadastrar Visitantes',
enText: 'Register Visitors',
);
case Module.aboutProperty:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Sobre a Propriedade',
enText: 'About the Property',
);
case Module.settings:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Configurações',
enText: 'Settings',
);
case Module.logout:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Sair',
enText: 'Logout',
);
}
}
@override
IconData get icon {
switch (this) {
case Module.messages:
return Icons.chat_outlined;
case Module.liberations:
return Icons.how_to_reg_outlined;
case Module.reservations:
return Icons.event_available;
case Module.access:
return Icons.transfer_within_a_station_outlined;
case Module.openedVisits:
return Icons.perm_contact_calendar;
case Module.vehicles:
return Icons.directions_car;
case Module.residents:
return Icons.groups;
case Module.pets:
return Icons.pets;
case Module.petsHistory:
return Icons.pets;
case Module.peopleOnTheProperty:
return Icons.groups;
case Module.orders:
return Icons.inventory_2_outlined;
case Module.completeSchedule:
return Icons.event;
case Module.providerSchedule:
return Icons.engineering_outlined;
case Module.deliverySchedule:
return Icons.sports_motorsports_outlined;
case Module.fastPass:
return Icons.attach_email_outlined;
case Module.qrCode:
return Icons.qr_code;
case Module.visitors:
return Icons.person_add_alt_1_outlined;
case Module.aboutProperty:
return Icons.home;
case Module.settings:
return Icons.settings;
case Module.logout:
return Icons.logout;
}
}
@override
String get route {
switch (this) {
case Module.messages:
return '/messageHistoryPage';
case Module.liberations:
return '/liberationHistory';
case Module.reservations:
return '/reservation';
case Module.access:
return '/acessHistoryPage';
case Module.openedVisits:
return '/visitsOnThePropertyPage';
case Module.vehicles:
return '/vehiclesOnThePropertyPage';
case Module.residents:
return '/residentsOnThePropertyPage';
case Module.pets:
return '/petsPage';
case Module.petsHistory:
return '/petsHistoryPage';
case Module.peopleOnTheProperty:
return '/peopleOnThePropertyPage';
case Module.orders:
return '/packageOrder';
case Module.completeSchedule:
return '/scheduleCompleteVisitPage';
case Module.providerSchedule:
return '/provisionalSchedule';
case Module.aboutProperty:
return '/aboutProperty';
case Module.deliverySchedule:
return '/deliverySchedule';
case Module.fastPass:
return '/fastPassPage';
case Module.qrCode:
return '/qrCodePage';
case Module.visitors:
return '/registerVisitorPage';
case Module.settings:
return '/preferencesSettings';
case Module.logout:
return '/WelcomePage';
default:
return '';
}
}
}
enum HomeMenuEntries implements BaseModule {
providerSchedule,
deliverySchedule,
fastPass,
completeSchedule,
orders,
reservations,
visitors,
qrCode,
pets,
access,
liberations,
messages,
aboutProperty,
peopleOnTheProperty,
settings;
@override
String get value {
switch (this) {
case HomeMenuEntries.messages:
return 'FRE-HUB-MESSAGES';
case HomeMenuEntries.liberations:
return 'FRE-HUB-LIBERATIONS';
case HomeMenuEntries.reservations:
return 'FRE-HUB-RESERVATIONS';
case HomeMenuEntries.access:
return 'FRE-HUB-ACCESS';
case HomeMenuEntries.pets:
return 'FRE-HUB-PETS';
case HomeMenuEntries.orders:
return 'FRE-HUB-ORDERS';
case HomeMenuEntries.completeSchedule:
return 'FRE-HUB-COMPLETE-SCHEDULE';
case HomeMenuEntries.providerSchedule:
return 'FRE-HUB-AGE-PROV-PRESTADOR';
case HomeMenuEntries.deliverySchedule:
return 'FRE-HUB-AGE-PROV-DELIVERY';
case HomeMenuEntries.aboutProperty:
return 'FRE-HUB-PROPERTY';
case HomeMenuEntries.fastPass:
return 'FRE-HUB-FASTPASS';
case HomeMenuEntries.visitors:
return 'FRE-HUB-VISITORS';
case HomeMenuEntries.qrCode:
return 'FRE-HUB-QRCODE';
case HomeMenuEntries.peopleOnTheProperty:
return 'FRE-HUB-PEOPLE';
default:
return '';
}
}
@override
String get name {
switch (this) {
case HomeMenuEntries.messages:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Consultar Mensagens',
enText: 'Messages History',
);
case HomeMenuEntries.liberations:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Consultar Liberações',
enText: 'Liberations History',
);
case HomeMenuEntries.reservations:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Reservas',
enText: 'Reservations',
);
case HomeMenuEntries.access:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Consultar Acessos',
enText: 'Access History',
);
case HomeMenuEntries.pets:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Pets',
enText: 'Pets',
);
case HomeMenuEntries.peopleOnTheProperty:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Pessoas na Propriedade',
enText: 'People on the Property',
);
case HomeMenuEntries.orders:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Minhas Encomendas',
enText: 'My Orders',
);
case HomeMenuEntries.completeSchedule:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Agenda Completa',
enText: 'Complete Schedule',
);
case HomeMenuEntries.providerSchedule:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Agendar Prestadores',
enText: 'Schedule Providers',
);
case HomeMenuEntries.deliverySchedule:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Agendar Delivery',
enText: 'Schedule Delivery',
);
case HomeMenuEntries.fastPass:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Fast Pass',
enText: 'Fast Pass',
);
case HomeMenuEntries.qrCode:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'QRCode de Acesso',
enText: 'Access QRCode',
);
case HomeMenuEntries.visitors:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Cadastrar Visitantes',
enText: 'Register Visitors',
);
case HomeMenuEntries.aboutProperty:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Sobre a Propriedade',
enText: 'About the Property',
);
case HomeMenuEntries.settings:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Configurações',
enText: 'Settings',
);
}
}
@override
IconData get icon {
switch (this) {
case HomeMenuEntries.messages:
return Icons.chat_outlined;
case HomeMenuEntries.liberations:
return Icons.how_to_reg_outlined;
case HomeMenuEntries.reservations:
return Icons.event_available;
case HomeMenuEntries.access:
return Icons.transfer_within_a_station_outlined;
case HomeMenuEntries.pets:
return Icons.pets;
case HomeMenuEntries.peopleOnTheProperty:
return Icons.groups;
case HomeMenuEntries.orders:
return Icons.inventory_2_outlined;
case HomeMenuEntries.completeSchedule:
return Icons.event;
case HomeMenuEntries.providerSchedule:
return Icons.engineering_outlined;
case HomeMenuEntries.deliverySchedule:
return Icons.sports_motorsports_outlined;
case HomeMenuEntries.fastPass:
return Icons.attach_email_outlined;
case HomeMenuEntries.qrCode:
return Icons.qr_code;
case HomeMenuEntries.visitors:
return Icons.person_add_alt_1_outlined;
case HomeMenuEntries.aboutProperty:
return Icons.home;
case HomeMenuEntries.settings:
return Icons.settings;
}
}
@override
String get route {
switch (this) {
case HomeMenuEntries.messages:
return '/messageHistoryPage';
case HomeMenuEntries.liberations:
return '/liberationHistory';
case HomeMenuEntries.reservations:
return '/reservation';
case HomeMenuEntries.access:
return '/acessHistoryPage';
case HomeMenuEntries.pets:
return '/petsPage';
case HomeMenuEntries.peopleOnTheProperty:
return '/peopleOnThePropertyPage';
case HomeMenuEntries.orders:
return '/packageOrder';
case HomeMenuEntries.completeSchedule:
return '/scheduleCompleteVisitPage';
case HomeMenuEntries.providerSchedule:
return '/provisionalSchedule';
case HomeMenuEntries.aboutProperty:
return '/aboutProperty';
case HomeMenuEntries.deliverySchedule:
return '/deliverySchedule';
case HomeMenuEntries.fastPass:
return '/fastPassPage';
case HomeMenuEntries.qrCode:
return '/qrCodePage';
case HomeMenuEntries.visitors:
return '/registerVisitorPage';
case HomeMenuEntries.settings:
return '/preferencesSettings';
default:
return '';
}
}
}
enum DrawerMenuEntries implements BaseModule {
providerSchedule,
deliverySchedule,
fastPass,
completeSchedule,
orders,
reservations,
visitors,
qrCode,
pets,
access,
liberations,
messages,
aboutProperty,
peopleOnTheProperty,
settings,
logout;
@override
String get value {
switch (this) {
case DrawerMenuEntries.messages:
return 'FRE-HUB-MESSAGES';
case DrawerMenuEntries.liberations:
return 'FRE-HUB-LIBERATIONS';
case DrawerMenuEntries.reservations:
return 'FRE-HUB-RESERVATIONS';
case DrawerMenuEntries.access:
return 'FRE-HUB-ACCESS';
case DrawerMenuEntries.pets:
return 'FRE-HUB-PETS';
case DrawerMenuEntries.orders:
return 'FRE-HUB-ORDERS';
case DrawerMenuEntries.completeSchedule:
return 'FRE-HUB-COMPLETE-SCHEDULE';
case DrawerMenuEntries.providerSchedule:
return 'FRE-HUB-AGE-PROV-PRESTADOR';
case DrawerMenuEntries.deliverySchedule:
return 'FRE-HUB-AGE-PROV-DELIVERY';
case DrawerMenuEntries.aboutProperty:
return 'FRE-HUB-PROPERTY';
case DrawerMenuEntries.fastPass:
return 'FRE-HUB-FASTPASS';
case DrawerMenuEntries.visitors:
return 'FRE-HUB-VISITORS';
case DrawerMenuEntries.qrCode:
return 'FRE-HUB-QRCODE';
case DrawerMenuEntries.peopleOnTheProperty:
return 'FRE-HUB-PEOPLE';
default:
return '';
}
}
@override
String get name {
switch (this) {
case DrawerMenuEntries.messages:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Consultar Mensagens',
enText: 'Messages History',
);
case DrawerMenuEntries.liberations:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Consultar Liberações',
enText: 'Liberations History',
);
case DrawerMenuEntries.reservations:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Reservas',
enText: 'Reservations',
);
case DrawerMenuEntries.access:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Consultar Acessos',
enText: 'Access History',
);
case DrawerMenuEntries.pets:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Pets',
enText: 'Pets',
);
case DrawerMenuEntries.peopleOnTheProperty:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Pessoas na Propriedade',
enText: 'People on the Property',
);
case DrawerMenuEntries.orders:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Minhas Encomendas',
enText: 'My Orders',
);
case DrawerMenuEntries.completeSchedule:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Agenda Completa',
enText: 'Complete Schedule',
);
case DrawerMenuEntries.providerSchedule:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Agendar Prestadores',
enText: 'Schedule Providers',
);
case DrawerMenuEntries.deliverySchedule:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Agendar Delivery',
enText: 'Schedule Delivery',
);
case DrawerMenuEntries.fastPass:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Fast Pass',
enText: 'Fast Pass',
);
case DrawerMenuEntries.qrCode:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'QRCode de Acesso',
enText: 'Access QRCode',
);
case DrawerMenuEntries.visitors:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Cadastrar Visitantes',
enText: 'Register Visitors',
);
case DrawerMenuEntries.aboutProperty:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Sobre a Propriedade',
enText: 'About the Property',
);
case DrawerMenuEntries.settings:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Configurações',
enText: 'Settings',
);
case DrawerMenuEntries.logout:
return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
ptText: 'Sair',
enText: 'Logout',
);
}
}
@override
IconData get icon {
switch (this) {
case DrawerMenuEntries.messages:
return Icons.chat_outlined;
case DrawerMenuEntries.liberations:
return Icons.how_to_reg_outlined;
case DrawerMenuEntries.reservations:
return Icons.event_available;
case DrawerMenuEntries.access:
return Icons.transfer_within_a_station_outlined;
case DrawerMenuEntries.pets:
return Icons.pets;
case DrawerMenuEntries.peopleOnTheProperty:
return Icons.groups;
case DrawerMenuEntries.orders:
return Icons.inventory_2_outlined;
case DrawerMenuEntries.completeSchedule:
return Icons.event;
case DrawerMenuEntries.providerSchedule:
return Icons.engineering_outlined;
case DrawerMenuEntries.deliverySchedule:
return Icons.sports_motorsports_outlined;
case DrawerMenuEntries.fastPass:
return Icons.attach_email_outlined;
case DrawerMenuEntries.qrCode:
return Icons.qr_code;
case DrawerMenuEntries.visitors:
return Icons.person_add_alt_1_outlined;
case DrawerMenuEntries.aboutProperty:
return Icons.home;
case DrawerMenuEntries.settings:
return Icons.settings;
case DrawerMenuEntries.logout:
return Icons.exit_to_app;
}
}
@override
String get route {
switch (this) {
case DrawerMenuEntries.messages:
return '/messageHistoryPage';
case DrawerMenuEntries.liberations:
return '/liberationHistory';
case DrawerMenuEntries.reservations:
return '/reservation';
case DrawerMenuEntries.access:
return '/acessHistoryPage';
case DrawerMenuEntries.pets:
return '/petsPage';
case DrawerMenuEntries.peopleOnTheProperty:
return '/peopleOnThePropertyPage';
case DrawerMenuEntries.orders:
return '/packageOrder';
case DrawerMenuEntries.completeSchedule:
return '/scheduleCompleteVisitPage';
case DrawerMenuEntries.providerSchedule:
return '/provisionalSchedule';
case DrawerMenuEntries.aboutProperty:
return '/aboutProperty';
case DrawerMenuEntries.deliverySchedule:
return '/deliverySchedule';
case DrawerMenuEntries.fastPass:
return '/fastPassPage';
case DrawerMenuEntries.qrCode:
return '/qrCodePage';
case DrawerMenuEntries.visitors:
return '/registerVisitorPage';
case DrawerMenuEntries.settings:
return '/preferencesSettings';
case DrawerMenuEntries.logout:
return '/WelcomePage';
default:
return '';
}
}
}