This commit is contained in:
jantunesmesias 2024-08-27 11:30:21 -03:00
parent 74119d0aec
commit 45cbcb9b39
16 changed files with 1319 additions and 1200 deletions

View File

@ -61,7 +61,7 @@ class _MenuButtonWidgetState extends State<MenuButtonWidget> {
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
crossAxisAlignment: CrossAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
if (widget.icon != null)
Container(
@ -74,20 +74,23 @@ class _MenuButtonWidgetState extends State<MenuButtonWidget> {
),
),
Flexible(
child: Text(
widget.title ?? '',
overflow: TextOverflow.ellipsis,
maxLines: 2,
textAlign: TextAlign.start,
style: FlutterFlowTheme.of(context).titleLarge.override(
fontFamily: 'Nunito',
color: FlutterFlowTheme.of(context).primaryText,
fontSize: 14.0,
letterSpacing: 0.0,
fontWeight: FontWeight.w500,
useGoogleFonts:
GoogleFonts.asMap().containsKey('Nunito'),
),
child: Padding(
padding: const EdgeInsets.only(left: 10.0),
child: Text(
widget.title ?? '',
overflow: TextOverflow.ellipsis,
maxLines: 2,
textAlign: TextAlign.start,
style: FlutterFlowTheme.of(context).titleLarge.override(
fontFamily: 'Nunito',
color: FlutterFlowTheme.of(context).primaryText,
fontSize: 14.0,
letterSpacing: 0.0,
fontWeight: FontWeight.w500,
useGoogleFonts:
GoogleFonts.asMap().containsKey('Nunito'),
),
),
),
),
],

View File

@ -54,11 +54,29 @@ class MenuComponentModel extends FlutterFlowModel<MenuComponentWidget> {
);
}
Future scheduleProvisionalVisitAction(BuildContext context) async {
Future deliverySchedule(BuildContext context) async {
final isProvisional = AppState().provisional;
if (isProvisional) {
context.pushNamed(
'scheduleProvisionalVisitPage',
'deliverySchedule',
extra: <String, dynamic>{
kTransitionInfoKey: const TransitionInfo(
hasTransition: true,
transitionType: PageTransitionType.scale,
alignment: Alignment.bottomCenter,
),
},
);
} else {
DialogUnavailable.unavailableFeature(context);
}
}
Future provisionalSchedule(BuildContext context) async {
final isProvisional = AppState().provisional;
if (isProvisional) {
context.pushNamed(
'provisionalSchedule',
extra: <String, dynamic>{
kTransitionInfoKey: const TransitionInfo(
hasTransition: true,

View File

@ -127,14 +127,25 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
else
return <MenuEntry>[
MenuButtonWidget(
icon: Icons.pending_actions,
icon: Icons.engineering_outlined,
action: () async {
await _model.scheduleProvisionalVisitAction(context);
await _model.provisionalSchedule(context);
setState(() {});
},
title: FFLocalizations.of(context).getVariableText(
enText: 'Provisional\nSchedule',
ptText: 'Agenda\nProvisória',
ptText: 'Agendar\nPrestadores',
),
),
MenuButtonWidget(
icon: Icons.sports_motorsports_outlined,
action: () async {
await _model.deliverySchedule(context);
setState(() {});
},
title: FFLocalizations.of(context).getVariableText(
enText: 'Delivery\nSchedule',
ptText: 'Agendar\nEntregas',
),
),
MenuButtonWidget(
@ -145,7 +156,7 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
},
title: FFLocalizations.of(context).getVariableText(
enText: 'Fast\nVisit',
ptText: 'Agendar\nVisita',
ptText: 'Agenda\nRápida',
),
),
MenuButtonWidget(
@ -166,8 +177,8 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
setState(() {});
},
title: FFLocalizations.of(context).getVariableText(
enText: 'Order\nPickup',
ptText: 'Fazer\nEncomenda',
ptText: 'Minhas\nEncomendas',
enText: 'My\nOrders',
),
),
MenuButtonWidget(
@ -177,8 +188,8 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
setState(() {});
},
title: FFLocalizations.of(context).getVariableText(
ptText: 'Fazer\nReservas',
enText: 'Make\nReservations',
ptText: 'Reserva\nde Itens',
enText: 'Item\nReservation',
),
),
MenuButtonWidget(
@ -215,14 +226,14 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
),
),
MenuButtonWidget(
icon: Icons.group_add_outlined,
icon: Icons.how_to_reg_outlined,
action: () async {
await _model.liberationHistoryAction(context);
setState(() {});
},
title: FFLocalizations.of(context).getVariableText(
enText: 'Liberation\nHistory',
ptText: 'Consultar\nLiberation',
enText: 'Liberations\nHistory',
ptText: 'Consultar\nLiberações',
),
),
MenuButtonWidget(
@ -233,7 +244,7 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
},
title: FFLocalizations.of(context).getVariableText(
enText: 'Access\nHistory',
ptText: 'Consultar\nAccessos',
ptText: 'Consultar\nAcessos',
),
),
MenuButtonWidget(
@ -366,14 +377,25 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
// if (MenuItem.tile)
return <MenuEntry>[
MenuCardItem(
icon: Icons.pending_actions,
icon: Icons.engineering_outlined,
action: () async {
await _model.scheduleProvisionalVisitAction(context);
await _model.provisionalSchedule(context);
setState(() {});
},
title: FFLocalizations.of(context).getVariableText(
enText: 'Provisional Schedule',
ptText: 'Agenda Provisória',
ptText: 'Agendar Prestadores',
),
),
MenuCardItem(
icon: Icons.sports_motorsports_outlined,
action: () async {
await _model.deliverySchedule(context);
setState(() {});
},
title: FFLocalizations.of(context).getVariableText(
enText: 'Delivery Schedule',
ptText: 'Agendar Entregas',
),
),
MenuCardItem(
@ -384,7 +406,7 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
},
title: FFLocalizations.of(context).getVariableText(
enText: 'Fast Visit',
ptText: 'Agendar Visita',
ptText: 'Agenda Rápida',
),
),
MenuCardItem(
@ -405,8 +427,8 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
setState(() {});
},
title: FFLocalizations.of(context).getVariableText(
enText: 'Order Pickup',
ptText: 'Fazer Encomenda',
ptText: 'Minhas Encomendas',
enText: 'My Orders',
),
),
MenuCardItem(
@ -416,8 +438,8 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
setState(() {});
},
title: FFLocalizations.of(context).getVariableText(
ptText: 'Fazer Reservas',
enText: 'Make Reservations',
ptText: 'Reserva de Itens',
enText: 'Item Reservation',
),
),
MenuCardItem(
@ -460,8 +482,8 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
setState(() {});
},
title: FFLocalizations.of(context).getVariableText(
enText: 'Liberation History',
ptText: 'Consultar Liberation',
enText: 'Liberations History',
ptText: 'Consultar Liberações',
),
),
MenuCardItem(
@ -472,7 +494,7 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
},
title: FFLocalizations.of(context).getVariableText(
enText: 'Access History',
ptText: 'Consultar Accessos',
ptText: 'Consultar Acessos',
),
),
MenuCardItem(

View File

@ -1,11 +1,8 @@
import 'package:hub/backend/api_requests/api_manager.dart';
import 'package:hub/flutter_flow/flutter_flow_model.dart';
import 'package:flutter/material.dart';
import 'package:hub/pages/schedule_provisional_visit_page/schedule_provisional_visit_page_widget.dart';
import '../../flutter_flow/internationalization.dart';
import 'package:hub/backend/api_requests/api_manager.dart';
import 'package:hub/components/templates_components/provisional_schedule_template/provisional_shcedule_template_widget.dart';
import 'package:hub/flutter_flow/flutter_flow_model.dart';
import 'package:hub/flutter_flow/internationalization.dart';
class ScheduleProvisionalVisitPageModel
extends FlutterFlowModel<ScheduleProvisionalVisitPageWidget> {

View File

@ -2,13 +2,13 @@ import 'dart:async';
import 'package:flutter/material.dart';
import 'package:hub/flutter_flow/nav/nav.dart';
import 'package:hub/pages/delivery_schedule_page/delivery_schedule_widget.dart';
import 'package:hub/pages/fast_pass_page/fast_pass_page_widget.dart';
import 'package:hub/pages/message_history_page/message_history_page_widget.dart';
import 'package:hub/pages/no_connection_page/no_connection_page.dart';
import 'package:hub/pages/package_order_page/package_order_page.dart';
import 'package:hub/pages/reservation_page/reservation_page_widget.dart';
import 'package:hub/pages/preferences_settings_page/preferences_settings_widget.dart';
import 'package:hub/pages/provisional_schedule_page/provisional_schedule_widget.dart';
import 'package:hub/pages/reception_page/reception_page_widget.dart';
import 'package:hub/pages/reservation_page/reservation_page_widget.dart';
import 'package:provider/provider.dart';
import '/backend/schema/structs/index.dart';
@ -112,10 +112,14 @@ GoRouter createRouter(AppStateNotifier appStateNotifier) => GoRouter(
),
),
FFRoute(
name: 'scheduleProvisionalVisitPage',
path: '/scheduleProvisionalVisitPage',
builder: (context, params) =>
const ScheduleProvisionalVisitPageWidget(),
name: 'deliverySchedule',
path: '/deliverySchedule',
builder: (context, params) => const DeliverySchedule(),
),
FFRoute(
name: 'provisionalSchedule',
path: '/provisionalSchedule',
builder: (context, params) => const ProvisionalSchedule(),
),
FFRoute(
name: 'fastPassPage',

View File

@ -1,27 +1,17 @@
export '/pages/home_page/home_page_widget.dart' show HomePageWidget;
export '/pages/register_visitor_page/register_visitor_page_widget.dart'
show RegisterVisitorPageWidget;
export '/pages/schedule_complete_visit_page/schedule_complete_visit_page_widget.dart'
show ScheduleCompleteVisitPageWidget;
export '/pages/schedule_provisional_visit_page/schedule_provisional_visit_page_widget.dart'
show ScheduleProvisionalVisitPageWidget;
export '/pages/people_on_the_property_page/people_on_the_property_page_widget.dart'
show PeopleOnThePropertyPageWidget;
export '/pages/acess_history_page/acess_history_page_widget.dart'
show AcessHistoryPageWidget;
export '/pages/home_page/home_page_widget.dart' show HomePageWidget;
export '/pages/liberation_history/liberation_history_widget.dart'
show LiberationHistoryWidget;
export '/pages/sign_in_page/sign_in_page_widget.dart' show SignInPageWidget;
export '/pages/sign_up_page/sign_up_page_widget.dart' show SignUpPageWidget;
export '/pages/welcome_page/welcome_page_widget.dart' show WelcomePageWidget;
export '/pages/people_on_the_property_page/people_on_the_property_page_widget.dart'
show PeopleOnThePropertyPageWidget;
export '/pages/preferences_settings_page/preferences_settings_widget.dart'
show PreferencesPageWidget;
export '/pages/qr_code_page/qr_code_page_widget.dart' show QrCodePageWidget;
export '/pages/preferences_settings_page/preferences_settings_widget.dart' show PreferencesPageWidget;
export '/pages/register_visitor_page/register_visitor_page_widget.dart'
show RegisterVisitorPageWidget;
export '/pages/schedule_complete_visit_page/schedule_complete_visit_page_widget.dart'
show ScheduleCompleteVisitPageWidget;
export '/pages/sign_in_page/sign_in_page_widget.dart' show SignInPageWidget;
export '/pages/sign_up_page/sign_up_page_widget.dart' show SignUpPageWidget;
export '/pages/welcome_page/welcome_page_widget.dart' show WelcomePageWidget;

View File

@ -0,0 +1,80 @@
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:hub/components/templates_components/provisional_schedule_template/provisional_schedule_template_model.dart';
import 'package:hub/components/templates_components/provisional_schedule_template/provisional_shcedule_template_widget.dart';
import 'package:hub/flutter_flow/flutter_flow_icon_button.dart';
import 'package:hub/flutter_flow/flutter_flow_theme.dart';
import 'package:provider/provider.dart';
import '/flutter_flow/flutter_flow_util.dart';
class DeliverySchedule extends StatefulWidget {
const DeliverySchedule({super.key});
@override
State<DeliverySchedule> createState() => _DeliveryScheduleState();
}
class _DeliveryScheduleState extends State<DeliverySchedule> {
late ScheduleProvisionalVisitPageModel _model;
final scaffoldKey = GlobalKey<ScaffoldState>();
@override
void initState() {
super.initState();
_model = createModel(context, () => ScheduleProvisionalVisitPageModel());
}
@override
void dispose() {
_model.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
context.watch<AppState>();
return Scaffold(
key: scaffoldKey,
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
appBar: AppBar(
automaticallyImplyLeading: false,
forceMaterialTransparency: true,
leading: FlutterFlowIconButton(
borderColor: Colors.transparent,
borderRadius: 30.0,
borderWidth: 1.0,
buttonSize: 60.0,
icon: Icon(
Icons.keyboard_arrow_left,
color: FlutterFlowTheme.of(context).primaryText,
size: 30.0,
),
onPressed: () async {
Navigator.pop(context);
},
),
title: Text(
FFLocalizations.of(context).getVariableText(
enText: 'Delivery Schedule',
ptText: 'Agendar Entregas',
),
style: FlutterFlowTheme.of(context).headlineMedium.override(
fontFamily: 'Nunito',
color: FlutterFlowTheme.of(context).primaryText,
fontSize: 16.0,
fontWeight: FontWeight.bold,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey('Nunito'),
),
),
actions: const [],
centerTitle: true,
elevation: 0.0,
),
body: const SafeArea(
top: true, child: ScheduleProvisionalVisitPageWidget()));
}
}

View File

@ -121,7 +121,8 @@ class _LiberationHistoryWidgetState extends State<LiberationHistoryWidget> {
style: FlutterFlowTheme.of(context).headlineMedium.override(
fontFamily: 'Nunito',
color: FlutterFlowTheme.of(context).primaryText,
fontSize: 17.0,
fontSize: 15.0,
fontWeight: FontWeight.bold,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey('Nunito'),
),

View File

@ -1,17 +1,11 @@
import 'dart:developer';
import 'package:hub/app_state.dart';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:hub/backend/api_requests/api_calls.dart';
import 'package:hub/flutter_flow/flutter_flow_icon_button.dart';
import 'package:hub/flutter_flow/flutter_flow_theme.dart';
import 'package:hub/flutter_flow/flutter_flow_util.dart';
import 'package:hub/flutter_flow/nav/nav.dart';
import 'package:hub/pages/message_history_page/message_history_page_model.dart';
import 'package:flutter/material.dart';
import 'package:flutter_spinkit/flutter_spinkit.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:hub/shared/utils/dialog_util.dart';
import 'package:hub/shared/utils/log_util.dart';
import 'package:provider/provider.dart';
@ -177,7 +171,8 @@ class _MessageHistoryPageWidgetState extends State<MessageHistoryPageWidget>
style: FlutterFlowTheme.of(context).headlineMedium.override(
fontFamily: 'Nunito',
color: FlutterFlowTheme.of(context).primaryText,
fontSize: 17.0,
fontSize: 15.0,
fontWeight: FontWeight.bold,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey('Nunito'),
),

View File

@ -1,21 +1,15 @@
import 'dart:developer';
import 'package:hub/backend/api_requests/api_calls.dart';
import 'package:hub/flutter_flow/flutter_flow_icon_button.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/pages/people_on_the_property_page/people_on_the_property_page_model.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:flutter_spinkit/flutter_spinkit.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:hub/backend/api_requests/api_calls.dart';
import 'package:hub/flutter_flow/flutter_flow_icon_button.dart';
import 'package:hub/flutter_flow/flutter_flow_theme.dart';
import 'package:hub/flutter_flow/flutter_flow_util.dart';
import 'package:hub/flutter_flow/nav/nav.dart';
import 'package:hub/pages/people_on_the_property_page/people_on_the_property_page_model.dart';
import 'package:provider/provider.dart';
import '../../shared/utils/dialog_util.dart';
import '../../shared/utils/log_util.dart';
class PeopleOnThePropertyPageWidget extends StatefulWidget {

View File

@ -47,8 +47,9 @@ class PreferencesPageWidget extends StatelessWidget {
),
style: FlutterFlowTheme.of(context).headlineMedium.override(
fontFamily: 'Nunito',
fontWeight: FontWeight.bold,
color: FlutterFlowTheme.of(context).primaryText,
fontSize: 17.0,
fontSize: 15.0,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey('Nunito'),
),

View File

@ -0,0 +1,80 @@
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:hub/components/templates_components/provisional_schedule_template/provisional_schedule_template_model.dart';
import 'package:hub/components/templates_components/provisional_schedule_template/provisional_shcedule_template_widget.dart';
import 'package:hub/flutter_flow/flutter_flow_icon_button.dart';
import 'package:hub/flutter_flow/flutter_flow_theme.dart';
import 'package:provider/provider.dart';
import '/flutter_flow/flutter_flow_util.dart';
class ProvisionalSchedule extends StatefulWidget {
const ProvisionalSchedule({super.key});
@override
State<ProvisionalSchedule> createState() => _ProvisionalScheduleState();
}
class _ProvisionalScheduleState extends State<ProvisionalSchedule> {
late ScheduleProvisionalVisitPageModel _model;
final scaffoldKey = GlobalKey<ScaffoldState>();
@override
void initState() {
super.initState();
_model = createModel(context, () => ScheduleProvisionalVisitPageModel());
}
@override
void dispose() {
_model.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
context.watch<AppState>();
return Scaffold(
key: scaffoldKey,
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
appBar: AppBar(
automaticallyImplyLeading: false,
forceMaterialTransparency: true,
leading: FlutterFlowIconButton(
borderColor: Colors.transparent,
borderRadius: 30.0,
borderWidth: 1.0,
buttonSize: 60.0,
icon: Icon(
Icons.keyboard_arrow_left,
color: FlutterFlowTheme.of(context).primaryText,
size: 30.0,
),
onPressed: () async {
Navigator.pop(context);
},
),
title: Text(
FFLocalizations.of(context).getVariableText(
enText: 'Provisional Schedule',
ptText: 'Agendar Prestadores',
),
style: FlutterFlowTheme.of(context).headlineMedium.override(
fontFamily: 'Nunito',
color: FlutterFlowTheme.of(context).primaryText,
fontSize: 15.0,
letterSpacing: 0.0,
fontWeight: FontWeight.bold,
useGoogleFonts: GoogleFonts.asMap().containsKey('Nunito'),
),
),
actions: const [],
centerTitle: true,
elevation: 0.0,
),
body: const SafeArea(
top: true, child: ScheduleProvisionalVisitPageWidget()));
}
}

View File

@ -1,8 +1,12 @@
import 'dart:developer';
import 'dart:async';
import 'package:barcode_widget/barcode_widget.dart';
// import 'package:barcode_widget/barcode_widget.dart';
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter_animate/flutter_animate.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:hub/actions/actions.dart';
import 'package:hub/components/templates_components/qr_code_pass_key_template_component/qr_code_pass_key_template_component_widget.dart';
import 'package:hub/flutter_flow/custom_functions.dart';
import 'package:hub/flutter_flow/flutter_flow_animations.dart';
@ -10,18 +14,9 @@ import 'package:hub/flutter_flow/flutter_flow_icon_button.dart';
import 'package:hub/flutter_flow/flutter_flow_theme.dart';
import 'package:hub/flutter_flow/flutter_flow_util.dart';
import 'package:hub/flutter_flow/flutter_flow_widgets.dart';
import 'package:hub/flutter_flow/internationalization.dart';
import 'package:hub/flutter_flow/nav/nav.dart';
import 'package:hub/pages/qr_code_page/qr_code_page_model.dart';
import 'package:percent_indicator/circular_percent_indicator.dart';
import 'dart:async';
// import 'package:barcode_widget/barcode_widget.dart';
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter_animate/flutter_animate.dart';
import 'package:google_fonts/google_fonts.dart';
// import 'package:percent_indicator/percent_indicator.dart';
import 'package:qr_flutter/qr_flutter.dart';
@ -466,7 +461,8 @@ class _QrCodePageWidgetState extends State<QrCodePageWidget>
style: FlutterFlowTheme.of(context).headlineMedium.override(
fontFamily: FlutterFlowTheme.of(context).headlineMediumFamily,
color: FlutterFlowTheme.of(context).primaryText,
fontSize: 16.0,
fontSize: 15.0,
fontWeight: FontWeight.bold,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context).headlineMediumFamily),

View File

@ -1,12 +1,14 @@
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:hub/components/templates_components/regisiter_vistor_template_component/regisiter_vistor_template_component_widget.dart';
import 'package:hub/flutter_flow/flutter_flow_icon_button.dart';
import 'package:hub/flutter_flow/flutter_flow_theme.dart';
import 'package:hub/flutter_flow/nav/nav.dart';
import '/flutter_flow/flutter_flow_util.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '/flutter_flow/flutter_flow_util.dart';
import 'register_visitor_page_model.dart';
export 'register_visitor_page_model.dart';
class RegisterVisitorPageWidget extends StatefulWidget {
@ -64,6 +66,7 @@ class _RegisterVisitorPageWidgetState extends State<RegisterVisitorPageWidget> {
fontFamily: FlutterFlowTheme.of(context).headlineMediumFamily,
color: FlutterFlowTheme.of(context).primaryText,
fontSize: 15.0,
fontWeight: FontWeight.bold,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context).headlineMediumFamily),