273 lines
8.6 KiB
Dart
273 lines
8.6 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:hub/features/module/index.dart';
|
|
import 'package:hub/flutter_flow/internationalization.dart';
|
|
import 'package:hub/flutter_flow/nav/nav.dart';
|
|
import 'package:material_symbols_icons/symbols.dart';
|
|
|
|
enum MenuEntryType { Home, Drawer, Property }
|
|
|
|
class MenuEntry implements BaseModule {
|
|
@override
|
|
final String key;
|
|
@override
|
|
final IconData icon;
|
|
@override
|
|
final String name;
|
|
@override
|
|
final String route;
|
|
final List<MenuEntryType> types;
|
|
|
|
const MenuEntry({
|
|
required this.key,
|
|
required this.icon,
|
|
required this.name,
|
|
required this.route,
|
|
required this.types,
|
|
});
|
|
|
|
static List<MenuEntry> entries = [
|
|
MenuEntry(
|
|
key: 'FRE-HUB-AGE-PROV-PREST',
|
|
icon: Icons.engineering_outlined,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'Agendar Prestadores',
|
|
enText: 'Schedule Providers',
|
|
),
|
|
route: '/provisionalSchedule',
|
|
types: [MenuEntryType.Home, MenuEntryType.Drawer],
|
|
),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-AGE-PROV-DELIVERY',
|
|
icon: Icons.sports_motorsports_outlined,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'Agendar Entregas',
|
|
enText: 'Delivery Schedule',
|
|
),
|
|
route: '/deliverySchedule',
|
|
types: [MenuEntryType.Home, MenuEntryType.Drawer],
|
|
),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-FASTPASS',
|
|
icon: Icons.attach_email_outlined,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'Convidar Visitante',
|
|
enText: 'Invite Visitor',
|
|
),
|
|
route: '/fastPassPage',
|
|
types: [MenuEntryType.Home, MenuEntryType.Drawer],
|
|
),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-COMPLETE-SCHEDULE',
|
|
icon: Icons.event,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'Agenda Completa',
|
|
enText: 'Complete Schedule',
|
|
),
|
|
route: '/scheduleCompleteVisitPage',
|
|
types: [MenuEntryType.Home, MenuEntryType.Drawer],
|
|
),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-RESIDENTS',
|
|
icon: Icons.groups,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'Moradores',
|
|
enText: 'Residents',
|
|
),
|
|
route: '/residentsOnThePropertyPage',
|
|
types: [MenuEntryType.Property],
|
|
),
|
|
// MenuEntry(
|
|
// key: 'FRE-HUB-VEHICLES-MANAGER',
|
|
// icon: Icons.directions_car,
|
|
// name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
// ptText: 'Veículos',
|
|
// enText: 'Vehicles',
|
|
// ),
|
|
// route: '/vehiclesOnThePropertyPage',
|
|
// types: [MenuEntryType.Property],
|
|
// ),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-VEHICLES',
|
|
icon: Icons.directions_car,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'Veículos',
|
|
enText: 'Vehicles',
|
|
),
|
|
route: '/vehiclesOnThePropertyPage',
|
|
types: [MenuEntryType.Property],
|
|
),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-OPENED-VISITS',
|
|
icon: Icons.perm_contact_calendar,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'Visitas Abertas',
|
|
enText: 'Opened Visits',
|
|
),
|
|
route: '/visitsOnThePropertyPage',
|
|
types: [MenuEntryType.Property],
|
|
),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-PETS-HISTORY',
|
|
icon: Icons.pets,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'Pets',
|
|
enText: 'Pets',
|
|
),
|
|
route: '/petsOnThePropertyPage',
|
|
types: [MenuEntryType.Property],
|
|
),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-ORDERS',
|
|
icon: Icons.inventory_2_outlined,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'Encomendas',
|
|
enText: 'Orders',
|
|
),
|
|
route: '/packageOrder',
|
|
types: [MenuEntryType.Home, MenuEntryType.Drawer, MenuEntryType.Property],
|
|
),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-RESERVATIONS',
|
|
icon: Icons.event_available,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'Reservas',
|
|
enText: 'Reservations',
|
|
),
|
|
route: '/reservation',
|
|
types: [MenuEntryType.Home, MenuEntryType.Drawer],
|
|
),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-VISITORS',
|
|
icon: Icons.person_add_alt_1_outlined,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'Cadastrar Visitantes',
|
|
enText: 'Register Visitors',
|
|
),
|
|
route: '/registerVisitorPage',
|
|
types: [MenuEntryType.Home, MenuEntryType.Drawer],
|
|
),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-QRCODE',
|
|
icon: Icons.qr_code,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'QRCode de Acesso',
|
|
enText: 'Access QRCode',
|
|
),
|
|
route: '/qrCodePage',
|
|
types: [MenuEntryType.Home, MenuEntryType.Drawer],
|
|
),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-PETS',
|
|
icon: Icons.pets,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!)
|
|
.getVariableText(ptText: 'Cadastrar Pets', enText: 'Pets Register'),
|
|
route: '/petsPage',
|
|
types: [MenuEntryType.Home, MenuEntryType.Drawer],
|
|
),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-ACCESS',
|
|
icon: Icons.transfer_within_a_station_outlined,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'Consultar Acessos',
|
|
enText: 'Access History',
|
|
),
|
|
route: '/acessHistoryPage',
|
|
types: [MenuEntryType.Home, MenuEntryType.Drawer],
|
|
),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-LIBERATIONS',
|
|
icon: Icons.how_to_reg_outlined,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'Consultar Liberações',
|
|
enText: 'Liberations History',
|
|
),
|
|
route: '/liberationHistory',
|
|
types: [MenuEntryType.Home, MenuEntryType.Drawer],
|
|
),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-PROVISIONAL-HISTORY',
|
|
icon: Symbols.calendar_clock,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'Consultar Agendas',
|
|
enText: 'Provisional History',
|
|
),
|
|
route: '/provisionalHistoryPage',
|
|
types: [MenuEntryType.Home, MenuEntryType.Drawer],
|
|
),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-MESSAGES',
|
|
icon: Icons.chat_outlined,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'Consultar Mensagens',
|
|
enText: 'Messages History',
|
|
),
|
|
route: '/messageHistoryPage',
|
|
types: [MenuEntryType.Home, MenuEntryType.Drawer],
|
|
),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-DOCUMENT',
|
|
icon: Icons.description,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'Documentos',
|
|
enText: 'Documents',
|
|
),
|
|
route: '/documentPage',
|
|
types: [MenuEntryType.Home, MenuEntryType.Drawer],
|
|
),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-ABOUT-PROPERTY',
|
|
icon: Icons.home,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'Sobre a Propriedade',
|
|
enText: 'About the Property',
|
|
),
|
|
route: '/aboutProperty',
|
|
types: [MenuEntryType.Home, MenuEntryType.Drawer],
|
|
),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-PEOPLE',
|
|
icon: Icons.groups,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'Pessoas na Propriedade',
|
|
enText: 'People on the Property',
|
|
),
|
|
route: '/peopleOnThePropertyPage',
|
|
types: [MenuEntryType.Home, MenuEntryType.Drawer],
|
|
),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-SETTINGS',
|
|
icon: Icons.settings,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'Opções do Sistema',
|
|
enText: 'System Settings',
|
|
),
|
|
route: '/preferencesSettings',
|
|
types: [MenuEntryType.Home, MenuEntryType.Drawer],
|
|
),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-ABOUT-SYSTEM',
|
|
icon: Icons.info_outline,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'Sobre o Sistema',
|
|
enText: 'About the System',
|
|
),
|
|
route: '/aboutSystemPage',
|
|
types: [MenuEntryType.Drawer],
|
|
),
|
|
MenuEntry(
|
|
key: 'FRE-HUB-LOGOUT',
|
|
icon: Icons.exit_to_app,
|
|
name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
|
|
ptText: 'Sair',
|
|
enText: 'Logout',
|
|
),
|
|
route: '/WelcomePage',
|
|
types: [MenuEntryType.Drawer],
|
|
),
|
|
];
|
|
|
|
static List<MenuEntry> getEntriesByType(MenuEntryType type) {
|
|
return entries.where((entry) => entry.types.contains(type)).toList();
|
|
}
|
|
}
|