import '/flutterlib/flutter_theme.dart'; import '/flutterlib/flutter_util.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; import 'chat_box_model.dart'; export 'chat_box_model.dart'; class ChatBoxWidget extends StatefulWidget { const ChatBoxWidget({Key? key}) : super(key: key); @override _ChatBoxWidgetState createState() => _ChatBoxWidgetState(); } class _ChatBoxWidgetState extends State { late ChatBoxModel _model; @override void setState(VoidCallback callback) { super.setState(callback); _model.onUpdate(); } @override void initState() { super.initState(); _model = createModel(context, () => ChatBoxModel()); } @override void dispose() { _model.maybeDispose(); super.dispose(); } @override Widget build(BuildContext context) { context.watch(); return Align( alignment: AlignmentDirectional(0.0, 0.0), child: Stack( alignment: AlignmentDirectional(0.0, 0.0), children: [ Align( alignment: AlignmentDirectional(1.07, 0.5), child: Padding( padding: EdgeInsetsDirectional.fromSTEB(0.0, 0.0, 30.0, 0.0), child: Container( width: 71.0, height: 71.0, decoration: BoxDecoration( gradient: LinearGradient( colors: [Color(0xFFE7E63B), Color(0xFFC6E6D7)], stops: [0.0, 1.0], begin: AlignmentDirectional(-1.0, 0.0), end: AlignmentDirectional(1.0, 0), ), shape: BoxShape.circle, ), child: MouseRegion( opaque: false, cursor: SystemMouseCursors.click ?? MouseCursor.defer, child: ClipRRect( borderRadius: BorderRadius.circular(8.0), child: SvgPicture.asset( 'assets/images/message-2.svg', width: 100.0, height: 100.0, fit: BoxFit.none, ), ), onEnter: ((event) async { setState(() => _model.mouseRegionHovered1 = true); setState(() { FFAppState().showChat = true; }); }), onExit: ((event) async { setState(() => _model.mouseRegionHovered1 = false); setState(() { FFAppState().showChat = false; }); }), ), ), ), ), if (FFAppState().showChat) Padding( padding: EdgeInsetsDirectional.fromSTEB(0.0, 30.0, 0.0, 0.0), child: Container( width: 335.0, height: 600.0, decoration: BoxDecoration( color: Color(0xFF009B9A), borderRadius: BorderRadius.only( bottomLeft: Radius.circular(0.0), bottomRight: Radius.circular(0.0), topLeft: Radius.circular(40.0), topRight: Radius.circular(40.0), ), ), child: MouseRegion( opaque: false, cursor: SystemMouseCursors.click ?? MouseCursor.defer, child: Column( mainAxisSize: MainAxisSize.max, children: [ Padding( padding: EdgeInsetsDirectional.fromSTEB(0.0, 10.0, 0.0, 0.0), child: Row( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.center, children: [ ClipRRect( borderRadius: BorderRadius.circular(8.0), child: SvgPicture.asset( 'assets/images/whitemessage.svg', width: 61.0, height: 72.0, fit: BoxFit.none, ), ), Padding( padding: EdgeInsetsDirectional.fromSTEB( 10.0, 0.0, 0.0, 0.0), child: Text( FFLocalizations.of(context).getText( 'sgf4j0rn' /* How we can help? */, ), style: FlutterTheme.of(context) .bodyMedium .override( fontFamily: 'Readex Pro', color: Color(0xFFEBEBE4), fontSize: 24.0, ), ), ), ], ), ), Row( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.center, children: [ Text( FFLocalizations.of(context).getText( 'lbw8sqrb' /* Send us a message and we will... */ , ), textAlign: TextAlign.center, style: FlutterTheme.of(context) .bodyMedium .override( fontFamily: 'Readex Pro', color: Color(0xFFEBEBE4), fontSize: 16.0, ), ), ], ), Padding( padding: EdgeInsetsDirectional.fromSTEB(0.0, 30.0, 0.0, 0.0), child: Container( width: 300.0, height: 85.0, decoration: BoxDecoration( color: FlutterTheme.of(context) .secondaryBackground, borderRadius: BorderRadius.only( bottomLeft: Radius.circular(0.0), bottomRight: Radius.circular(40.0), topLeft: Radius.circular(40.0), topRight: Radius.circular(0.0), ), ), child: Row( mainAxisSize: MainAxisSize.max, children: [ ClipRRect( borderRadius: BorderRadius.circular(8.0), child: SvgPicture.asset( 'assets/images/bk.svg', width: 100.0, height: 100.0, fit: BoxFit.none, ), ), Text( FFLocalizations.of(context).getText( 'ltzjffri' /* Bookkeeping Service */, ), style: FlutterTheme.of(context).bodyMedium, ), Expanded( child: Align( alignment: AlignmentDirectional(1.0, 0.0), child: Padding( padding: EdgeInsetsDirectional.fromSTEB( 0.0, 0.0, 20.0, 0.0), child: Icon( Icons.arrow_forward_ios, color: FlutterTheme.of(context) .secondaryText, size: 16.0, ), ), ), ), ], ), ), ), Padding( padding: EdgeInsetsDirectional.fromSTEB(0.0, 30.0, 0.0, 0.0), child: Container( width: 300.0, height: 85.0, decoration: BoxDecoration( color: FlutterTheme.of(context) .secondaryBackground, borderRadius: BorderRadius.only( bottomLeft: Radius.circular(0.0), bottomRight: Radius.circular(40.0), topLeft: Radius.circular(40.0), topRight: Radius.circular(0.0), ), ), child: Row( mainAxisSize: MainAxisSize.max, children: [ ClipRRect( borderRadius: BorderRadius.circular(8.0), child: SvgPicture.asset( 'assets/images/chat.svg', width: 100.0, height: 100.0, fit: BoxFit.none, ), ), Text( FFLocalizations.of(context).getText( 'amerkqzb' /* Company Secretary Service */ , ), style: FlutterTheme.of(context).bodyMedium, ), Expanded( child: Align( alignment: AlignmentDirectional(1.0, 0.0), child: Padding( padding: EdgeInsetsDirectional.fromSTEB( 0.0, 0.0, 20.0, 0.0), child: Icon( Icons.arrow_forward_ios, color: FlutterTheme.of(context) .secondaryText, size: 16.0, ), ), ), ), ], ), ), ), ], ), onEnter: ((event) async { setState(() => _model.mouseRegionHovered2 = true); setState(() { FFAppState().showChat = true; }); }), onExit: ((event) async { setState(() => _model.mouseRegionHovered2 = false); setState(() { FFAppState().showChat = false; }); }), ), ), ), ], ), ); } }