import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class ConfirmDialog { final BuildContext context; final title; final confirmMessage; final okText; final cancelText; final Function okFunction; final Function cancelFunction; ConfirmDialog({@required this.context, this.title, @required this.confirmMessage, @required this.okText, @required this.cancelText, @required this.okFunction, @required this.cancelFunction}); showAlertDialog(BuildContext context) { // set up the buttons // set up the AlertDialog // AlertDialog alert = AlertDialog( // title: title != null ? Text(title) : Text(TranslationBase.of(context).confirm), // content: Text(this.confirmMessage), // actions: [ // cancelButton, // continueButton, // ], // ); Dialog alert = Dialog( child: Container( color: Colors.transparent, child: Mdialog( context, title != null ? title : TranslationBase.of(context).confirm, confirmMessage, okText, cancelText, cancelFunction: cancelFunction, okFunction: okFunction, ), ), ); // show the dialog showDialog( context: context, builder: (BuildContext context) { return alert; }, ); } static closeAlertDialog(BuildContext context) { Navigator.of(context).pop(); } } class Mdialog extends StatelessWidget { String title; String description; final Function okFunction; final Function cancelFunction; final okText; final cancelText; BuildContext _context; Mdialog(this._context, this.title, this.description, this.okText, this.cancelText, {this.okFunction, this.cancelFunction}); @override Widget build(BuildContext context) { return Container( decoration: containerRadius(Colors.white, 12), padding: EdgeInsets.all(20), clipBehavior: Clip.antiAlias, child: Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( // title != null ? title : TranslationBase.of(context).confirm, title, style: TextStyle( fontSize: 24, letterSpacing: -0.94, fontWeight: FontWeight.w600, ), ), Text( // this.confirmMessage, description, style: TextStyle( fontSize: 12, letterSpacing: -0.48, color: CustomColors.grey, fontWeight: FontWeight.w600, ), ), mHeight(16), Row( children: [ Expanded( child: InkWell( onTap: () { Navigator.of(_context).pop(); cancelFunction(); }, child: Container( decoration: containerRadius(CustomColors.lightGreyColor, 12), padding: EdgeInsets.only(top: 8,bottom: 8), child: Center(child: Texts(cancelText)), ), ), ), mWidth(8), Expanded( child: InkWell( onTap: okFunction, child: Container( decoration: containerRadius(CustomColors.accentColor, 12), padding: EdgeInsets.only(top: 8,bottom: 8), child: Center( child: Texts( okText, color: Colors.white, ), ), ), ), ) ], ) ], ), ); } }