import 'package:cssd/config/colors.dart'; import 'package:cssd/providers/items.dart'; import '../../../config/routes.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; class ItemUpdateButton extends StatelessWidget { const ItemUpdateButton({ Key? key, required GlobalKey form, required this.id, required this.descriptionCTRL, required this.nameCTRL, required this.udiCTRL, required this.sizeCTRL, required this.specificCTRL, required double deviceBlockSize, }) : _form = form, _deviceBlockSize = deviceBlockSize, super(key: key); final GlobalKey _form; final String id; final TextEditingController descriptionCTRL; final TextEditingController nameCTRL; final TextEditingController udiCTRL; final TextEditingController sizeCTRL; final TextEditingController specificCTRL; final double _deviceBlockSize; @override Widget build(BuildContext context) { return InkWell( onTap: () { if (!_form.currentState!.validate()) { return; } Provider.of(context, listen: false).updateItemResult( id, nameCTRL.text, sizeCTRL.text, specificCTRL.text, udiCTRL.text, descriptionCTRL.text, ); showDialog( context: context, builder: (ctx) => AlertDialog( content: Text('Item updated.'), actions: [ TextButton( onPressed: () { Navigator.of(ctx).pop(); }, child: Text('Ok'), ) ], ), ).then((_) { Navigator.of(context).pushReplacementNamed(Routes.itemResultScreen); }); }, child: Container( padding: EdgeInsets.symmetric( horizontal: 5 * _deviceBlockSize, vertical: 10, ), // margin: // EdgeInsets.symmetric(horizontal: 35, vertical: 15), decoration: BoxDecoration( gradient: LinearGradient( colors: [kBlue, kBlueSub], ), borderRadius: BorderRadius.circular(7), ), child: Align( alignment: Alignment.center, child: Text( 'Update', style: TextStyle( color: Colors.white, fontSize: 5 * _deviceBlockSize, ), ), ), ), ); } }