flutter-freaccess-hub/lib/pages/home_page/home_page_widget.dart

1115 lines
60 KiB
Dart

import '/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_widget.dart';
import '/components/organism_components/local_profile_component/local_profile_component_widget.dart';
import '/components/organism_components/menu_component/menu_component_widget.dart';
import '/components/organism_components/message_well_component/message_well_component_widget.dart';
import '/flutter_flow/flutter_flow_icon_button.dart';
import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import '/flutter_flow/flutter_flow_widgets.dart';
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:provider/provider.dart';
import 'home_page_model.dart';
export 'home_page_model.dart';
class HomePageWidget extends StatefulWidget {
const HomePageWidget({super.key});
@override
State<HomePageWidget> createState() => _HomePageWidgetState();
}
class _HomePageWidgetState extends State<HomePageWidget> {
late HomePageModel _model;
final scaffoldKey = GlobalKey<ScaffoldState>();
@override
void initState() {
super.initState();
_model = createModel(context, () => HomePageModel());
// On page load action.
SchedulerBinding.instance.addPostFrameCallback((_) async {
if (FFAppState().cliUUID == '') {
showModalBottomSheet(
isScrollControlled: true,
backgroundColor: Colors.transparent,
enableDrag: false,
context: context,
builder: (context) {
return GestureDetector(
onTap: () => _model.unfocusNode.canRequestFocus
? FocusScope.of(context).requestFocus(_model.unfocusNode)
: FocusScope.of(context).unfocus(),
child: Padding(
padding: MediaQuery.viewInsetsOf(context),
child: const BottomArrowLinkedLocalsComponentWidget(),
),
);
},
).then((value) => safeSetState(() {}));
} else {
return;
}
});
_model.textController ??= TextEditingController();
_model.textFieldFocusNode ??= FocusNode();
}
@override
void dispose() {
_model.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
context.watch<FFAppState>();
return GestureDetector(
onTap: () => _model.unfocusNode.canRequestFocus
? FocusScope.of(context).requestFocus(_model.unfocusNode)
: FocusScope.of(context).unfocus(),
child: Scaffold(
key: scaffoldKey,
backgroundColor: FlutterFlowTheme.of(context).secondaryBackground,
drawer: SizedBox(
width: 750.0,
child: Drawer(
elevation: 16.0,
child: Container(
decoration: BoxDecoration(
color: FlutterFlowTheme.of(context).primaryBackground,
shape: BoxShape.rectangle,
),
child: Column(
mainAxisSize: MainAxisSize.max,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Container(
decoration: const BoxDecoration(
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(5.0),
bottomRight: Radius.circular(5.0),
topLeft: Radius.circular(0.0),
topRight: Radius.circular(0.0),
),
shape: BoxShape.rectangle,
),
child: Column(
mainAxisSize: MainAxisSize.max,
children: [
Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Flexible(
child: Container(
width: double.infinity,
decoration: const BoxDecoration(),
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Container(
width: 50.0,
height: 50.0,
clipBehavior: Clip.antiAlias,
decoration: const BoxDecoration(
shape: BoxShape.circle,
),
child: Image.network(
valueOrDefault<String>(
'https://freaccess.com.br/freaccess/Images/Clients/${FFAppState().cliUUID}.png',
'https://storage.googleapis.com/flutterflow-io-6f20.appspot.com/projects/flutter-freaccess-hub-0xgz9q/assets/7ftdetkzc3s0/360_F_64676383_LdbmhiNM6Ypzb3FM4PPuFP9rHe7ri8Ju.jpg',
),
fit: BoxFit.cover,
),
),
Flexible(
child: Row(
mainAxisSize: MainAxisSize.max,
children: [
Container(
decoration: const BoxDecoration(),
child: Text(
FFLocalizations.of(context)
.getText(
'lyiat6s2' /* NOME DO MORADOR */,
),
style: FlutterFlowTheme.of(
context)
.bodyLarge
.override(
fontFamily: 'Nunito Sans',
color: FlutterFlowTheme.of(
context)
.primaryText,
fontSize: 14.0,
letterSpacing: 0.0,
fontWeight:
FontWeight.normal,
useGoogleFonts:
GoogleFonts.asMap()
.containsKey(
'Nunito Sans'),
),
),
),
].divide(const SizedBox(width: 20.0)),
),
),
]
.divide(const SizedBox(width: 10.0))
.addToStart(const SizedBox(width: 20.0)),
),
),
),
Expanded(
child: Container(
height: 30.0,
decoration: const BoxDecoration(),
child: Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.end,
children: [
Flexible(
child: FlutterFlowIconButton(
borderRadius: 100.0,
borderWidth: 1.0,
buttonSize: 40.0,
icon: Icon(
Icons.close_sharp,
color: FlutterFlowTheme.of(context)
.primary,
size: 20.0,
),
onPressed: () async {
if (scaffoldKey
.currentState!.isDrawerOpen ||
scaffoldKey.currentState!
.isEndDrawerOpen) {
Navigator.pop(context);
}
},
),
),
],
),
),
),
]
.divide(const SizedBox(width: 0.0))
.around(const SizedBox(width: 0.0)),
),
].addToStart(const SizedBox(height: 30.0)),
),
),
Padding(
padding:
const EdgeInsetsDirectional.fromSTEB(0.0, 10.0, 0.0, 0.0),
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Flexible(
child: Padding(
padding: const EdgeInsetsDirectional.fromSTEB(
8.0, 0.0, 8.0, 0.0),
child: TextFormField(
controller: _model.textController,
focusNode: _model.textFieldFocusNode,
autofocus: false,
obscureText: false,
decoration: InputDecoration(
isDense: true,
labelStyle: FlutterFlowTheme.of(context)
.labelMedium
.override(
fontFamily: FlutterFlowTheme.of(context)
.labelMediumFamily,
color: FlutterFlowTheme.of(context)
.primaryText,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap()
.containsKey(
FlutterFlowTheme.of(context)
.labelMediumFamily),
),
alignLabelWithHint: false,
hintStyle: FlutterFlowTheme.of(context)
.labelMedium
.override(
fontFamily: FlutterFlowTheme.of(context)
.labelMediumFamily,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap()
.containsKey(
FlutterFlowTheme.of(context)
.labelMediumFamily),
),
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context)
.customColor1,
width: 0.5,
),
borderRadius: BorderRadius.circular(2.0),
),
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).primary,
width: 0.5,
),
borderRadius: BorderRadius.circular(2.0),
),
errorBorder: UnderlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).error,
width: 0.5,
),
borderRadius: BorderRadius.circular(2.0),
),
focusedErrorBorder: UnderlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).error,
width: 0.5,
),
borderRadius: BorderRadius.circular(2.0),
),
prefixIcon: const Icon(
Icons.search_sharp,
),
),
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: FlutterFlowTheme.of(context)
.bodyMediumFamily,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap()
.containsKey(
FlutterFlowTheme.of(context)
.bodyMediumFamily),
),
validator: _model.textControllerValidator
.asValidator(context),
),
),
),
]
.addToStart(const SizedBox(width: 30.0))
.addToEnd(const SizedBox(width: 30.0)),
),
),
Flexible(
child: Container(
width: double.infinity,
height: double.infinity,
decoration: const BoxDecoration(),
child: Padding(
padding: const EdgeInsetsDirectional.fromSTEB(
10.0, 20.0, 10.0, 0.0),
child: Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Column(
mainAxisSize: MainAxisSize.max,
children: [
Divider(
thickness: 0.1,
color:
FlutterFlowTheme.of(context).customColor1,
),
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(
0.0, 0.0, 0.0, 1.0),
child: Container(
width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(24.0),
),
child: Padding(
padding: const EdgeInsets.all(4.0),
child: Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: [
Container(
width: 40.0,
height: 40.0,
decoration: const BoxDecoration(
shape: BoxShape.circle,
),
child: Icon(
FFIcons.kfast,
color:
FlutterFlowTheme.of(context)
.primary,
size: 20.0,
),
),
Expanded(
child: Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
10.0, 0.0, 0.0, 0.0),
child: Text(
FFLocalizations.of(context)
.getText(
'dlaeicxd' /* Auto-Visita */,
),
style: FlutterFlowTheme.of(
context)
.titleLarge
.override(
fontFamily: 'Nunito',
color:
FlutterFlowTheme.of(
context)
.primaryText,
fontSize: 15.0,
letterSpacing: 0.0,
fontWeight:
FontWeight.w500,
useGoogleFonts:
GoogleFonts.asMap()
.containsKey(
'Nunito'),
),
),
),
),
Icon(
Icons.chevron_right_rounded,
color: FlutterFlowTheme.of(context)
.customColor1,
size: 24.0,
),
],
),
),
),
),
Divider(
thickness: 0.1,
color:
FlutterFlowTheme.of(context).customColor1,
),
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(
0.0, 0.0, 0.0, 1.0),
child: Container(
width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(24.0),
),
child: Padding(
padding: const EdgeInsets.all(4.0),
child: Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: [
Container(
width: 40.0,
height: 40.0,
decoration: const BoxDecoration(
shape: BoxShape.circle,
),
child: Icon(
FFIcons.khome,
color:
FlutterFlowTheme.of(context)
.primary,
size: 24.0,
),
),
Expanded(
child: Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
10.0, 0.0, 0.0, 0.0),
child: Text(
FFLocalizations.of(context)
.getText(
'53jd930v' /* Condominio */,
),
style: FlutterFlowTheme.of(
context)
.titleLarge
.override(
fontFamily: 'Nunito',
color:
FlutterFlowTheme.of(
context)
.primaryText,
fontSize: 15.0,
letterSpacing: 0.0,
fontWeight:
FontWeight.w500,
useGoogleFonts:
GoogleFonts.asMap()
.containsKey(
'Nunito'),
),
),
),
),
Icon(
Icons.chevron_right_rounded,
color: FlutterFlowTheme.of(context)
.customColor1,
size: 24.0,
),
],
),
),
),
),
Divider(
thickness: 0.1,
color:
FlutterFlowTheme.of(context).customColor1,
),
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(
0.0, 0.0, 0.0, 1.0),
child: Container(
width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(24.0),
),
child: Padding(
padding: const EdgeInsets.all(4.0),
child: Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: [
Container(
width: 40.0,
height: 40.0,
decoration: const BoxDecoration(
shape: BoxShape.circle,
),
child: Icon(
FFIcons.kpets,
color:
FlutterFlowTheme.of(context)
.primary,
size: 20.0,
),
),
Expanded(
child: Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
10.0, 0.0, 0.0, 0.0),
child: Text(
FFLocalizations.of(context)
.getText(
'ptsx0rln' /* Cadastrar Pet */,
),
style: FlutterFlowTheme.of(
context)
.titleLarge
.override(
fontFamily: 'Nunito',
color:
FlutterFlowTheme.of(
context)
.primaryText,
fontSize: 15.0,
letterSpacing: 0.0,
fontWeight:
FontWeight.w500,
useGoogleFonts:
GoogleFonts.asMap()
.containsKey(
'Nunito'),
),
),
),
),
Icon(
Icons.chevron_right_rounded,
color: FlutterFlowTheme.of(context)
.customColor1,
size: 24.0,
),
],
),
),
),
),
Divider(
thickness: 0.1,
color:
FlutterFlowTheme.of(context).customColor1,
),
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(
0.0, 0.0, 0.0, 1.0),
child: Container(
width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(24.0),
),
child: Padding(
padding: const EdgeInsets.all(4.0),
child: Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: [
Container(
width: 40.0,
height: 40.0,
decoration: const BoxDecoration(
shape: BoxShape.circle,
),
child: Icon(
FFIcons.kvector1,
color:
FlutterFlowTheme.of(context)
.primary,
size: 22.0,
),
),
Expanded(
child: Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
10.0, 0.0, 0.0, 0.0),
child: Text(
FFLocalizations.of(context)
.getText(
'rgxgw626' /* Cadastrar Visitante */,
),
style: FlutterFlowTheme.of(
context)
.titleLarge
.override(
fontFamily: 'Nunito',
color:
FlutterFlowTheme.of(
context)
.primaryText,
fontSize: 15.0,
letterSpacing: 0.0,
fontWeight:
FontWeight.w500,
useGoogleFonts:
GoogleFonts.asMap()
.containsKey(
'Nunito'),
),
),
),
),
Icon(
Icons.chevron_right_rounded,
color: FlutterFlowTheme.of(context)
.customColor1,
size: 24.0,
),
],
),
),
),
),
Divider(
thickness: 0.1,
color:
FlutterFlowTheme.of(context).customColor1,
),
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(
0.0, 0.0, 0.0, 1.0),
child: Container(
width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(24.0),
),
child: Padding(
padding: const EdgeInsets.all(4.0),
child: Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: [
Container(
width: 40.0,
height: 40.0,
decoration: const BoxDecoration(
shape: BoxShape.circle,
),
child: Icon(
FFIcons.kvector2,
color:
FlutterFlowTheme.of(context)
.primary,
size: 20.0,
),
),
Expanded(
child: Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
10.0, 0.0, 0.0, 0.0),
child: Text(
FFLocalizations.of(context)
.getText(
'j2tn9lpw' /* QR Code de Acesso */,
),
style: FlutterFlowTheme.of(
context)
.titleLarge
.override(
fontFamily: 'Nunito',
color:
FlutterFlowTheme.of(
context)
.primaryText,
fontSize: 15.0,
letterSpacing: 0.0,
fontWeight:
FontWeight.w500,
useGoogleFonts:
GoogleFonts.asMap()
.containsKey(
'Nunito'),
),
),
),
),
Icon(
Icons.chevron_right_rounded,
color: FlutterFlowTheme.of(context)
.customColor1,
size: 24.0,
),
],
),
),
),
),
Divider(
thickness: 0.1,
color:
FlutterFlowTheme.of(context).customColor1,
),
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(
0.0, 0.0, 0.0, 1.0),
child: Container(
width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(24.0),
),
child: Padding(
padding: const EdgeInsets.all(4.0),
child: Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: [
Container(
width: 40.0,
height: 40.0,
decoration: const BoxDecoration(
shape: BoxShape.circle,
),
child: Icon(
FFIcons.kvector3,
color:
FlutterFlowTheme.of(context)
.primary,
size: 20.0,
),
),
Expanded(
child: Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
10.0, 0.0, 0.0, 0.0),
child: Text(
FFLocalizations.of(context)
.getText(
'9weuwgs1' /* Histórico de Acesso */,
),
style: FlutterFlowTheme.of(
context)
.titleLarge
.override(
fontFamily: 'Nunito',
color:
FlutterFlowTheme.of(
context)
.primaryText,
fontSize: 15.0,
letterSpacing: 0.0,
fontWeight:
FontWeight.w500,
useGoogleFonts:
GoogleFonts.asMap()
.containsKey(
'Nunito'),
),
),
),
),
Icon(
Icons.chevron_right_rounded,
color: FlutterFlowTheme.of(context)
.customColor1,
size: 24.0,
),
],
),
),
),
),
Divider(
thickness: 0.1,
color:
FlutterFlowTheme.of(context).customColor1,
),
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(
0.0, 0.0, 0.0, 1.0),
child: Container(
width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(24.0),
),
child: Padding(
padding: const EdgeInsets.all(4.0),
child: Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: [
Container(
width: 40.0,
height: 40.0,
decoration: const BoxDecoration(
shape: BoxShape.circle,
),
child: Icon(
FFIcons.kvector1,
color:
FlutterFlowTheme.of(context)
.primary,
size: 20.0,
),
),
Expanded(
child: Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
10.0, 0.0, 0.0, 0.0),
child: Text(
FFLocalizations.of(context)
.getText(
'vuk5bjau' /* Agendar Visita */,
),
style: FlutterFlowTheme.of(
context)
.titleLarge
.override(
fontFamily: 'Nunito',
color:
FlutterFlowTheme.of(
context)
.primaryText,
fontSize: 15.0,
letterSpacing: 0.0,
fontWeight:
FontWeight.w500,
useGoogleFonts:
GoogleFonts.asMap()
.containsKey(
'Nunito'),
),
),
),
),
Icon(
Icons.chevron_right_rounded,
color: FlutterFlowTheme.of(context)
.customColor1,
size: 24.0,
),
],
),
),
),
),
Divider(
thickness: 0.1,
color:
FlutterFlowTheme.of(context).customColor1,
),
],
),
],
),
),
),
),
FFButtonWidget(
onPressed: () async {
FFAppState().isLogged = false;
setState(() {});
context.goNamed(
'welcomePage',
extra: <String, dynamic>{
kTransitionInfoKey: const TransitionInfo(
hasTransition: true,
transitionType: PageTransitionType.scale,
alignment: Alignment.bottomCenter,
),
},
);
},
text: FFLocalizations.of(context).getText(
'xx0db4wi' /* Sair */,
),
options: FFButtonOptions(
height: 40.0,
padding:
const EdgeInsetsDirectional.fromSTEB(0.0, 0.0, 0.0, 0.0),
iconPadding:
const EdgeInsetsDirectional.fromSTEB(0.0, 0.0, 0.0, 0.0),
color: const Color(0x00D70000),
textStyle:
FlutterFlowTheme.of(context).labelMedium.override(
fontFamily: 'Plus Jakarta Sans',
color: FlutterFlowTheme.of(context).primaryText,
fontSize: 14.0,
letterSpacing: 0.0,
fontWeight: FontWeight.w500,
useGoogleFonts: GoogleFonts.asMap()
.containsKey('Plus Jakarta Sans'),
),
elevation: 0.0,
borderSide: const BorderSide(
width: 0.0,
),
borderRadius: BorderRadius.circular(50.0),
),
),
].addToEnd(const SizedBox(height: 64.0)),
),
),
),
),
body: Container(
decoration: BoxDecoration(
color: FlutterFlowTheme.of(context).primaryBackground,
),
child: SingleChildScrollView(
child: Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Wrap(
spacing: 0.0,
runSpacing: 0.0,
alignment: WrapAlignment.start,
crossAxisAlignment: WrapCrossAlignment.start,
direction: Axis.horizontal,
runAlignment: WrapAlignment.start,
verticalDirection: VerticalDirection.down,
clipBehavior: Clip.none,
children: [
Row(
mainAxisSize: MainAxisSize.max,
children: [
Expanded(
child: Container(
width: 100.0,
height: 100.0,
decoration: const BoxDecoration(
color: Color(0xFF1AAB5F),
),
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Align(
alignment: const AlignmentDirectional(0.0, 1.0),
child: Container(
height: 50.0,
decoration: const BoxDecoration(),
child: Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: Row(
mainAxisSize: MainAxisSize.max,
children: [
Align(
alignment:
const AlignmentDirectional(-1.0, 0.0),
child: Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
10.0, 0.0, 0.0, 0.0),
child: FlutterFlowIconButton(
borderRadius: 20.0,
borderWidth: 1.0,
buttonSize: 40.0,
fillColor:
FlutterFlowTheme.of(context)
.primary,
icon: const Icon(
Icons.menu_rounded,
color: Colors.white,
size: 28.0,
),
onPressed: () async {
scaffoldKey.currentState!
.openDrawer();
},
),
),
),
Align(
alignment:
const AlignmentDirectional(-1.0, 0.0),
child: Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
60.0, 15.0, 0.0, 0.0),
child: ClipRRect(
borderRadius:
BorderRadius.circular(8.0),
child: Image.network(
'https://storage.googleapis.com/flutterflow-io-6f20.appspot.com/projects/flutter-freaccess-hub-0xgz9q/assets/8r2vsbd9i03k/logo.png',
width: 50.0,
height: 200.0,
fit: BoxFit.none,
),
),
),
),
Align(
alignment:
const AlignmentDirectional(0.0, 0.0),
child: Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
0.0, 15.0, 0.0, 0.0),
child: Text(
FFLocalizations.of(context)
.getText(
'rg9pzkpz' /* FRE ACCESS */,
),
style:
FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily:
FlutterFlowTheme.of(
context)
.bodyMediumFamily,
color: FlutterFlowTheme
.of(context)
.info,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
FlutterFlowTheme.of(
context)
.bodyMediumFamily),
),
),
),
),
],
),
),
),
),
Align(
alignment: const AlignmentDirectional(0.0, 1.0),
child: Container(
width: 100.0,
height: 50.0,
decoration: const BoxDecoration(),
child: Align(
alignment: const AlignmentDirectional(1.0, 1.0),
child: FlutterFlowIconButton(
borderRadius: 20.0,
borderWidth: 1.0,
buttonSize: 40.0,
icon: Icon(
Icons.notifications_sharp,
color:
FlutterFlowTheme.of(context).info,
size: 24.0,
),
onPressed: () {
print('IconButton pressed ...');
},
),
),
),
),
],
),
),
),
],
),
wrapWithModel(
model: _model.localComponentModel,
updateCallback: () => setState(() {}),
child: const LocalProfileComponentWidget(),
),
Wrap(
spacing: 0.0,
runSpacing: 0.0,
alignment: WrapAlignment.start,
crossAxisAlignment: WrapCrossAlignment.start,
direction: Axis.horizontal,
runAlignment: WrapAlignment.start,
verticalDirection: VerticalDirection.down,
clipBehavior: Clip.none,
children: [
wrapWithModel(
model: _model.menuComponentModel,
updateCallback: () => setState(() {}),
child: const MenuComponentWidget(),
),
Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: wrapWithModel(
model: _model.messageWellComponentModel,
updateCallback: () => setState(() {}),
child: const MessageWellComponentWidget(),
),
),
],
),
],
),
],
),
),
),
),
);
}
}