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'; class License { final List modules; const License( this.modules, ); static List 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, ), ]); } } // import 'package:equatable/equatable.dart'; // import 'module.dart'; // 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 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 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 ''; // } // } // }