import '/components/options_dialog/options_dialog_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 'dart:ui'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; import 'conversation_details_overlay_model.dart'; export 'conversation_details_overlay_model.dart'; class ConversationDetailsOverlayWidget extends StatefulWidget { const ConversationDetailsOverlayWidget({super.key}); @override State createState() => _ConversationDetailsOverlayWidgetState(); } class _ConversationDetailsOverlayWidgetState extends State { late ConversationDetailsOverlayModel _model; @override void setState(VoidCallback callback) { super.setState(callback); _model.onUpdate(); } @override void initState() { super.initState(); _model = createModel(context, () => ConversationDetailsOverlayModel()); } @override void dispose() { _model.maybeDispose(); super.dispose(); } @override Widget build(BuildContext context) { return ClipRRect( borderRadius: BorderRadius.circular(0), child: BackdropFilter( filter: ImageFilter.blur( sigmaX: 4, sigmaY: 4, ), child: Container( width: double.infinity, height: double.infinity, decoration: BoxDecoration(), child: Align( alignment: AlignmentDirectional(0, -1), child: Container( width: double.infinity, height: double.infinity, constraints: BoxConstraints( maxWidth: 700, ), decoration: BoxDecoration( borderRadius: BorderRadius.circular(0), ), child: Padding( padding: EdgeInsetsDirectional.fromSTEB(0, 70, 0, 0), child: Column( mainAxisSize: MainAxisSize.max, crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Padding( padding: EdgeInsetsDirectional.fromSTEB(16, 0, 0, 0), child: Text( 'Chat Details', style: FlutterFlowTheme.of(context) .headlineSmall .override( fontFamily: 'Outfit', letterSpacing: 0, ), ), ), Padding( padding: EdgeInsetsDirectional.fromSTEB(0, 0, 16, 0), child: FlutterFlowIconButton( borderColor: FlutterFlowTheme.of(context).alternate, borderRadius: 12, borderWidth: 1, buttonSize: 40, fillColor: FlutterFlowTheme.of(context).accent4, icon: Icon( Icons.close_rounded, color: FlutterFlowTheme.of(context).primaryText, size: 24, ), onPressed: () async { Navigator.pop(context); }, ), ), ], ), Padding( padding: EdgeInsetsDirectional.fromSTEB(16, 4, 0, 4), child: RichText( textScaler: MediaQuery.of(context).textScaler, text: TextSpan( children: [ TextSpan( text: 'Group Chat ID: ', style: TextStyle(), ), TextSpan( text: 'Hello World ', style: TextStyle( color: FlutterFlowTheme.of(context).primary, fontWeight: FontWeight.bold, ), ) ], style: FlutterFlowTheme.of(context).labelMedium.override( fontFamily: 'Readex Pro', letterSpacing: 0, ), ), ), ), Expanded( child: Align( alignment: AlignmentDirectional(0, 0), child: Column( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.start, children: [ Divider( thickness: 1, color: FlutterFlowTheme.of(context).tertiary, ), ], ), ), ), Align( alignment: AlignmentDirectional(0, -1), child: Padding( padding: EdgeInsetsDirectional.fromSTEB(16, 0, 16, 0), child: ClipRRect( borderRadius: BorderRadius.circular(12), child: Container( decoration: BoxDecoration( color: FlutterFlowTheme.of(context) .secondaryBackground, borderRadius: BorderRadius.circular(12), border: Border.all( color: FlutterFlowTheme.of(context).alternate, ), ), child: wrapWithModel( model: _model.optionsDialogModel, updateCallback: () => setState(() {}), updateOnChange: true, child: OptionsDialogWidget(), ), ), ), ), ), Padding( padding: EdgeInsetsDirectional.fromSTEB(16, 16, 16, 44), child: FFButtonWidget( onPressed: () async { Navigator.pop(context); }, text: 'Close', options: FFButtonOptions( width: double.infinity, height: 52, padding: EdgeInsetsDirectional.fromSTEB(44, 0, 44, 0), iconPadding: EdgeInsetsDirectional.fromSTEB(0, 0, 0, 0), color: FlutterFlowTheme.of(context).secondaryBackground, textStyle: FlutterFlowTheme.of(context).titleLarge.override( fontFamily: 'Outfit', fontSize: 18, letterSpacing: 0, ), elevation: 0, borderSide: BorderSide( color: FlutterFlowTheme.of(context).alternate, width: 2, ), borderRadius: BorderRadius.circular(12), hoverColor: FlutterFlowTheme.of(context).alternate, hoverBorderSide: BorderSide( color: FlutterFlowTheme.of(context).alternate, width: 2, ), hoverTextColor: FlutterFlowTheme.of(context).primaryText, hoverElevation: 3, ), ), ), ], ), ), ), ), ), ), ); } }