import '/flutter_flow/flutter_flow_animations.dart'; import '/flutter_flow/flutter_flow_theme.dart'; import '/flutter_flow/flutter_flow_util.dart'; import 'package:flutter/material.dart'; import 'package:flutter_animate/flutter_animate.dart'; import 'package:google_fonts/google_fonts.dart'; import 'option_selection_modal_model.dart'; export 'option_selection_modal_model.dart'; class OptionSelectionModalWidget extends StatefulWidget { const OptionSelectionModalWidget({super.key}); @override State createState() => _OptionSelectionModalWidgetState(); } class _OptionSelectionModalWidgetState extends State with TickerProviderStateMixin { late OptionSelectionModalModel _model; final animationsMap = {}; @override void setState(VoidCallback callback) { super.setState(callback); _model.onUpdate(); } @override void initState() { super.initState(); _model = createModel(context, () => OptionSelectionModalModel()); animationsMap.addAll({ 'wrapOnPageLoadAnimation': AnimationInfo( trigger: AnimationTrigger.onPageLoad, effectsBuilder: () => [ ScaleEffect( curve: Curves.easeInOut, delay: 0.0.ms, duration: 100.0.ms, begin: const Offset(0.0, 0.0), end: const Offset(1.0, 1.0), ), ], ), }); } @override void dispose() { _model.maybeDispose(); super.dispose(); } @override Widget build(BuildContext context) { return InkWell( splashColor: Colors.transparent, focusColor: Colors.transparent, hoverColor: Colors.transparent, highlightColor: Colors.transparent, onTap: () async { Navigator.pop(context); }, child: Column( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.center, children: [ Align( alignment: const AlignmentDirectional(0.0, 0.0), child: Wrap( spacing: 17.0, runSpacing: 0.0, alignment: WrapAlignment.start, crossAxisAlignment: WrapCrossAlignment.start, direction: Axis.horizontal, runAlignment: WrapAlignment.start, verticalDirection: VerticalDirection.down, clipBehavior: Clip.none, children: [ InkWell( splashColor: Colors.transparent, focusColor: Colors.transparent, hoverColor: Colors.transparent, highlightColor: Colors.transparent, onTap: () async { Navigator.pop(context); }, child: Container( width: 100.0, height: 100.0, decoration: BoxDecoration( color: FlutterFlowTheme.of(context).primaryBackground, boxShadow: [ BoxShadow( blurRadius: 4.0, color: FlutterFlowTheme.of(context).customColor5, offset: const Offset( 0.0, 2.0, ), ) ], borderRadius: BorderRadius.circular(24.0), shape: BoxShape.rectangle, border: Border.all( color: FlutterFlowTheme.of(context).alternate, width: 0.5, ), ), child: Padding( padding: const EdgeInsets.all(4.0), child: Column( mainAxisSize: MainAxisSize.min, mainAxisAlignment: MainAxisAlignment.spaceEvenly, crossAxisAlignment: CrossAxisAlignment.center, children: [ Align( alignment: const AlignmentDirectional(0.0, 0.0), child: Row( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.center, children: [ Expanded( child: Align( alignment: const AlignmentDirectional(-1.0, 0.0), child: Padding( padding: const EdgeInsetsDirectional.fromSTEB( 8.0, 0.0, 0.0, 0.0), child: Container( width: 30.0, height: 30.0, decoration: BoxDecoration( color: FlutterFlowTheme.of(context) .primaryBackground, shape: BoxShape.circle, ), alignment: const AlignmentDirectional(0.0, 0.0), child: Icon( Icons.schedule_send, color: FlutterFlowTheme.of(context) .accent1, size: 34.0, ), ), ), ), ), ], ), ), Align( alignment: const AlignmentDirectional(0.0, 0.0), child: Row( mainAxisSize: MainAxisSize.min, mainAxisAlignment: MainAxisAlignment.center, children: [ Align( alignment: const AlignmentDirectional(0.0, 0.0), child: Text( FFLocalizations.of(context).getText( 'bmjlmhht' /* Agenda Rapida */ , ), 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'), ), ), ), ], ), ), ].divide(const SizedBox(height: 0.0)), ), ), ), ), InkWell( splashColor: Colors.transparent, focusColor: Colors.transparent, hoverColor: Colors.transparent, highlightColor: Colors.transparent, onTap: () async { Navigator.pop(context); context.pushNamed( 'scheduleProvisionalVisitPage', extra: { kTransitionInfoKey: const TransitionInfo( hasTransition: true, transitionType: PageTransitionType.scale, alignment: Alignment.bottomCenter, ), }, ); }, child: Container( width: 100.0, height: 100.0, decoration: BoxDecoration( color: FlutterFlowTheme.of(context).primaryBackground, boxShadow: [ BoxShadow( blurRadius: 4.0, color: FlutterFlowTheme.of(context).customColor5, offset: const Offset( 0.0, 2.0, ), ) ], borderRadius: BorderRadius.circular(24.0), shape: BoxShape.rectangle, border: Border.all( color: FlutterFlowTheme.of(context).alternate, width: 0.5, ), ), child: Padding( padding: const EdgeInsets.all(4.0), child: Column( mainAxisSize: MainAxisSize.min, mainAxisAlignment: MainAxisAlignment.spaceEvenly, crossAxisAlignment: CrossAxisAlignment.center, children: [ Align( alignment: const AlignmentDirectional(0.0, 0.0), child: Row( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.center, children: [ Expanded( child: Align( alignment: const AlignmentDirectional(-1.0, 0.0), child: Padding( padding: const EdgeInsetsDirectional.fromSTEB( 8.0, 0.0, 0.0, 0.0), child: Container( width: 30.0, height: 30.0, decoration: BoxDecoration( color: FlutterFlowTheme.of(context) .primaryBackground, shape: BoxShape.circle, ), alignment: const AlignmentDirectional(0.0, 0.0), child: Icon( Icons.hourglass_bottom, color: FlutterFlowTheme.of(context) .accent1, size: 34.0, ), ), ), ), ), ], ), ), Align( alignment: const AlignmentDirectional(0.0, 0.0), child: Row( mainAxisSize: MainAxisSize.min, mainAxisAlignment: MainAxisAlignment.center, children: [ Align( alignment: const AlignmentDirectional(0.0, 0.0), child: Text( FFLocalizations.of(context).getText( 'ci8eyh2v' /* Agenda Provisória */ , ), 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'), ), ), ), ], ), ), ].divide(const SizedBox(height: 0.0)), ), ), ), ), InkWell( splashColor: Colors.transparent, focusColor: Colors.transparent, hoverColor: Colors.transparent, highlightColor: Colors.transparent, onTap: () async { Navigator.pop(context); context.pushNamed( 'scheduleCompleteVisitPage', extra: { kTransitionInfoKey: const TransitionInfo( hasTransition: true, transitionType: PageTransitionType.scale, alignment: Alignment.bottomCenter, ), }, ); }, child: Container( width: 100.0, height: 100.0, decoration: BoxDecoration( color: FlutterFlowTheme.of(context).primaryBackground, boxShadow: [ BoxShadow( blurRadius: 4.0, color: FlutterFlowTheme.of(context).customColor5, offset: const Offset( 0.0, 2.0, ), ) ], borderRadius: BorderRadius.circular(24.0), shape: BoxShape.rectangle, border: Border.all( color: FlutterFlowTheme.of(context).alternate, width: 0.5, ), ), child: Padding( padding: const EdgeInsets.all(4.0), child: Column( mainAxisSize: MainAxisSize.min, mainAxisAlignment: MainAxisAlignment.spaceEvenly, crossAxisAlignment: CrossAxisAlignment.center, children: [ Align( alignment: const AlignmentDirectional(0.0, 0.0), child: Row( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.center, children: [ Expanded( child: Align( alignment: const AlignmentDirectional(-1.0, 0.0), child: Padding( padding: const EdgeInsetsDirectional.fromSTEB( 8.0, 0.0, 0.0, 0.0), child: Container( width: 30.0, height: 30.0, decoration: BoxDecoration( color: FlutterFlowTheme.of(context) .primaryBackground, shape: BoxShape.circle, ), alignment: const AlignmentDirectional(0.0, 0.0), child: Icon( Icons.scale, color: FlutterFlowTheme.of(context) .accent1, size: 34.0, ), ), ), ), ), ], ), ), Align( alignment: const AlignmentDirectional(0.0, 0.0), child: Row( mainAxisSize: MainAxisSize.min, mainAxisAlignment: MainAxisAlignment.center, children: [ Align( alignment: const AlignmentDirectional(0.0, 0.0), child: Text( FFLocalizations.of(context).getText( 'jj2b545b' /* Agenda Completa */ , ), 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'), ), ), ), ], ), ), ].divide(const SizedBox(height: 0.0)), ), ), ), ), ], ).animateOnPageLoad(animationsMap['wrapOnPageLoadAnimation']!), ), ], ), ); } }