import 'package:cssd/config/colors.dart'; import 'package:cssd/providers/packages.dart'; import 'package:flutter/material.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:provider/provider.dart'; import '../../../config/routes.dart'; class PackageAddSaveButton extends StatelessWidget { const PackageAddSaveButton({ Key? key, required GlobalKey form, required this.itemValues, required this.nameCTRL, required this.descriptionCTRL, // required this.udiCTRL, required this.dateValue, required double deviceBlockSize, }) : _form = form, _deviceBlockSize = deviceBlockSize, super(key: key); final GlobalKey _form; final List itemValues; final TextEditingController nameCTRL; final TextEditingController descriptionCTRL; // final TextEditingController udiCTRL; final String dateValue; final double _deviceBlockSize; @override Widget build(BuildContext context) { return Consumer( builder: (context, packageProvider, _) { return InkWell( onTap: () async { packageProvider.setLoadingButton(); if (!_form.currentState!.validate()) { return; } List items = []; for (TextEditingController item in itemValues) { print(item.text); if (item.text.toString().contains(" ")) { packageProvider.filteredItems?.forEach((element) { if (element.udi_name.toString() == item.text.toString()) { items.add(element.id.toString()); } }); } else items.add(item.text); } items = items.toSet().toList(); await Provider.of(context, listen: false) .createPackageResult( nameCTRL.text, // udiCTRL.text, items, descriptionCTRL.text, ); // Navigator.of(context) // .pushReplacementNamed(Routes.packageResultScreen); Navigator.of(context).pop(); var packages = await Provider.of(context, listen: false); packages.setLoading(); packages.resetPageNumber(); packages .getPackageResults() .then((value) => {packages.resetLoading()}); Fluttertoast.showToast( msg: "Package added.", toastLength: Toast.LENGTH_SHORT, gravity: ToastGravity.BOTTOM, ); packageProvider.resetLoadingButton(); }, child: Container( padding: EdgeInsets.symmetric( horizontal: 5 * _deviceBlockSize, vertical: 10, ), // margin: // EdgeInsets.symmetric(horizontal: 35, vertical: 15), decoration: BoxDecoration( gradient: LinearGradient( colors: [kPurple, kPurpleSub], ), borderRadius: BorderRadius.circular(7), ), child: packageProvider.isloadingButton ? Center( child: CircularProgressIndicator( color: Colors.white, ), ) : Align( alignment: Alignment.center, child: Text( 'Save', style: TextStyle( color: Colors.white, fontSize: 5 * _deviceBlockSize, ), ), ), ), ); }, ); } }