quickString function

Future<String?> quickString({
  1. required BuildContext context,
  2. TextStyle textStyle = const TextStyle(color: Colors.black),
  3. Color backgroundColor = Colors.black,
  4. Widget? title,
  5. EdgeInsets? inputFieldPadding,
  6. EdgeInsets? inputFieldMargin,
  7. Widget? submitButton,
  8. Widget? cancelButton,
  9. Color? cursorColor,
})

Implementation

Future<String?> quickString({
  required BuildContext context,
  TextStyle textStyle = const TextStyle(
    color: Colors.black,
  ),
  Color backgroundColor = Colors.black,
  Widget? title,
  EdgeInsets? inputFieldPadding,
  EdgeInsets? inputFieldMargin,
  Widget? submitButton,
  Widget? cancelButton,
  Color? cursorColor,
})async{
  TextEditingController controller = TextEditingController();
  bool submitted = false;
  await showDialog(
   context: context,
   builder: (ctx)=> AlertDialog(
     title: title,
     content: SimplifiedTextField(
       controller: controller,
       backgroundColor: backgroundColor,
       title: title,
       inputFieldPadding: inputFieldPadding,
       inputFieldMargin: inputFieldMargin,
       textStyle: textStyle,
       inputType: TextInputType.text,
       cursorColor: cursorColor,
     ),
     actions: [
       GestureDetector(
         onTap: (){
           Navigator.pop(context);
         },
         child: cancelButton ?? const ContextButton(
          text: "cancel",
          textColor: Colors.black,
          backgroundColor: Colors.white,
        ),
        ),
        GestureDetector(
         onTap: (){
           submitted  = true;
           Navigator.pop(context);
         },
         child: submitButton ?? ContextButton(
            text: "Submit",
            textColor:Colors.white,
            backgroundColor: backgroundColor,
          ),
        ),
     ],
   ),
  );
  if(submitted){
    return controller.text;
  }else{
    return null;
  }
}