import 'package:dropdown_button2/dropdown_button2.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../../Models/crmModels/GetSegmentOnTeamResponse.dart'; import '../../Models/crmModels/crmLeadDetailsEditAccountViewResponse.dart'; import '../../Notifiers/crmProvider/editCrmAccountDetailsProvider.dart'; import '../../Utils/app_colors.dart'; import '../../Utils/commonWidgets.dart'; import '../../Utils/dropdownTheme.dart'; class EditAccountDetails extends StatefulWidget { final leadID; final mode; final accountID; final companyName; const EditAccountDetails({super.key,required this.leadID,required this.mode,required this.accountID,required this.companyName}); @override State createState() => _EditAccountDetailsState(); } class _EditAccountDetailsState extends State { Dropdowntheme ddtheme = Dropdowntheme(); @override void initState() { // TODO: implement initState super.initState(); WidgetsBinding.instance.addPostFrameCallback((timeStamp) { final provider = Provider.of( context, listen: false, ); provider.editCompanyNameController.text = widget.companyName!; provider.crmLeadDetailsEditAccountAPIFunction(context, widget.leadID, widget.mode); }); } @override Widget build(BuildContext context) { return Consumer( builder: (context, provider, child) { return WillPopScope( onWillPop: () => onBackPressed(context), child: Scaffold( resizeToAvoidBottomInset: true, appBar: appbar(context, "Edit Account"), backgroundColor: AppColors.scaffold_bg_color, body: SafeArea( child: Container( padding: EdgeInsets.symmetric(horizontal: 10,vertical: 10), margin: EdgeInsets.symmetric(horizontal: 10,vertical: 5), decoration: BoxDecoration( color: Colors.white, borderRadius: BorderRadius.circular(12.0), ), child: SingleChildScrollView( child: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ textControllerWidget( context, provider.editCompanyNameController, "Name", "Enter Name", provider.onChangedCompanyName, TextInputType.text, false, null, ), errorWidget(context, provider.companyNameError), TextWidget(context, "Team"), DropdownButtonHideUnderline( child: Row( children: [ Expanded( child: DropdownButton2( hint: Text( "Select Team", style: TextStyle(fontSize: 14), ), items: provider.teamsList .map( (slist) => DropdownMenuItem( value: slist, child: Text( slist.name!, style: TextStyle( fontSize: 14, ), ), ), ) .toList(), value: provider.selectedTeams, onChanged: (Teams? value) { if (value != null) { if(provider.teamsList.isNotEmpty){ provider.selectedTeams = value; provider.selectedTeamId = value!.id!; provider.selectedTeamValue = value!.name!; provider.crmLeadListSegmentOnTeamAPIFunction(context, widget.mode, provider.selectedTeamId); } } }, isExpanded: true, buttonStyleData: ddtheme.buttonStyleData, iconStyleData: ddtheme.iconStyleData, menuItemStyleData: ddtheme.menuItemStyleData, dropdownStyleData: ddtheme.dropdownStyleData, ), ), ], ), ), TextWidget(context, "Segment"), DropdownButtonHideUnderline( child: Row( children: [ Expanded( child: DropdownButton2( hint: Text( "Select Segment", style: TextStyle(fontSize: 14), ), items: provider.segmentsList .map( (slist) => DropdownMenuItem( value: slist, child: Text( slist.name!, style: TextStyle( fontSize: 14, ), ), ), ) .toList(), value: provider.selectedSegments, onChanged: (Segments? value) { if (value != null) { if(provider.segmentsList.isNotEmpty){ provider.selectedSegments = value; provider.selectedSegmentId = value!.id!; provider.selectedSegmentValue = value!.name!; } } }, isExpanded: true, buttonStyleData: ddtheme.buttonStyleData, iconStyleData: ddtheme.iconStyleData, menuItemStyleData: ddtheme.menuItemStyleData, dropdownStyleData: ddtheme.dropdownStyleData, ), ), ], ), ), SizedBox(height: 25,), InkWell( onTap: provider.isLoading?null:(){ provider.isLoading = true; provider.crmLeadDetailsEditAccountSubmitAPIFunction(context, widget.accountID, provider.selectedSegmentId, provider.selectedTeamId); }, child: Container( alignment: Alignment.center, height: 45, margin: EdgeInsets.only( left: 5.0, right: 5.0, top: 5.0, bottom: 5.0, ), decoration: BoxDecoration( color: AppColors.app_blue, //1487C9 borderRadius: BorderRadius.circular(14.0), ), child: Center( child: provider.isLoading?CircularProgressIndicator.adaptive(valueColor: AlwaysStoppedAnimation(AppColors.white),):Text( "Submit", textAlign: TextAlign.center, style: TextStyle(color: Colors.white), ), ), ), ), ], ), ), ), ), ), ); }, ); } }