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