import 'package:flutter/material.dart'; import 'package:patient_manager/components/inputsAndButtons/mihButton.dart'; import 'package:patient_manager/main.dart'; class MIHDeleteMessage extends StatefulWidget { final String deleteType; final void Function() onTap; const MIHDeleteMessage({ super.key, required this.deleteType, required this.onTap, }); @override State createState() => _MIHDeleteMessageState(); } class _MIHDeleteMessageState extends State { var messageTypes = {}; late double popUpWidth; late double? popUpheight; late double popUpTitleSize; late double popUpSubtitleSize; late double popUpBodySize; late double popUpIconSize; late double popUpPaddingSize; late double width; late double height; void checkScreenSize() { if (MzanziInnovationHub.of(context)!.theme.screenType == "desktop") { setState(() { popUpWidth = (width / 4) * 2; popUpheight = null; popUpTitleSize = 25.0; popUpSubtitleSize = 20.0; popUpBodySize = 15; popUpPaddingSize = 25.0; popUpIconSize = 100; }); } else { setState(() { popUpWidth = width - (width * 0.1); popUpheight = null; popUpTitleSize = 20.0; popUpSubtitleSize = 18.0; popUpBodySize = 15; popUpPaddingSize = 15.0; popUpIconSize = 100; }); } } void setDeleteNote() { messageTypes["Note"] = Stack( children: [ Container( padding: EdgeInsets.all(popUpPaddingSize), width: popUpWidth, height: popUpheight, decoration: BoxDecoration( color: MzanziInnovationHub.of(context)!.theme.primaryColor(), borderRadius: BorderRadius.circular(25.0), border: Border.all( color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), width: 5.0), ), child: SingleChildScrollView( child: Column( mainAxisSize: MainAxisSize.min, children: [ Icon( Icons.warning_amber_rounded, size: popUpIconSize, color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), ), //const SizedBox(height: 15), Text( "Are you sure you want to delete this?", textAlign: TextAlign.center, style: TextStyle( color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), fontSize: popUpTitleSize, fontWeight: FontWeight.bold, ), ), const SizedBox(height: 15), Text( "This note will be deleted permanently. Are you certain you want to delete it?", style: TextStyle( color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), fontSize: popUpBodySize, fontWeight: FontWeight.bold, ), ), const SizedBox(height: 15), SizedBox( width: 300, height: 50, child: MIHButton( onTap: widget.onTap, buttonText: "Delete", buttonColor: MzanziInnovationHub.of(context)! .theme .secondaryColor(), textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), )) ], ), ), ), Positioned( top: 5, right: 5, width: 50, height: 50, child: IconButton( onPressed: () { Navigator.pop(context); }, icon: Icon( Icons.close, color: MzanziInnovationHub.of(context)!.theme.errorColor(), size: 35, ), ), ), ], ); } void setFileNote() { messageTypes["File"] = Stack( children: [ Container( padding: EdgeInsets.all(popUpPaddingSize), width: popUpWidth, height: popUpheight, decoration: BoxDecoration( color: MzanziInnovationHub.of(context)!.theme.primaryColor(), borderRadius: BorderRadius.circular(25.0), border: Border.all( color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), width: 5.0), ), child: SingleChildScrollView( child: Column( mainAxisSize: MainAxisSize.min, children: [ Icon( Icons.warning_amber_rounded, size: popUpIconSize, color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), ), //const SizedBox(height: 15), Text( "Are you sure you want to delete this?", textAlign: TextAlign.center, style: TextStyle( color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), fontSize: popUpTitleSize, fontWeight: FontWeight.bold, ), ), const SizedBox(height: 15), Text( "This file will be deleted permanently. Are you certain you want to delete it?", style: TextStyle( color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), fontSize: popUpBodySize, fontWeight: FontWeight.bold, ), ), const SizedBox(height: 15), SizedBox( width: 300, height: 50, child: MIHButton( onTap: widget.onTap, buttonText: "Delete", buttonColor: MzanziInnovationHub.of(context)! .theme .secondaryColor(), textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), )) ], ), ), ), Positioned( top: 5, right: 5, width: 50, height: 50, child: IconButton( onPressed: () { Navigator.pop(context); }, icon: Icon( Icons.close, color: MzanziInnovationHub.of(context)!.theme.errorColor(), size: 35, ), ), ), ], ); } void setDeleteEmployee() { messageTypes["Employee"] = Stack( children: [ Container( padding: EdgeInsets.all(popUpPaddingSize), width: popUpWidth, height: popUpheight, decoration: BoxDecoration( color: MzanziInnovationHub.of(context)!.theme.primaryColor(), borderRadius: BorderRadius.circular(25.0), border: Border.all( color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), width: 5.0), ), child: SingleChildScrollView( child: Column( mainAxisSize: MainAxisSize.min, children: [ Icon( Icons.warning_amber_rounded, size: popUpIconSize, color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), ), //const SizedBox(height: 15), Text( "Are you sure you want to delete this?", textAlign: TextAlign.center, style: TextStyle( color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), fontSize: popUpTitleSize, fontWeight: FontWeight.bold, ), ), const SizedBox(height: 15), Text( "This team member will be deleted permanently from the business profile. Are you certain you want to delete it?", style: TextStyle( color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), fontSize: popUpBodySize, fontWeight: FontWeight.bold, ), ), const SizedBox(height: 15), SizedBox( width: 300, height: 50, child: MIHButton( onTap: widget.onTap, buttonText: "Delete", buttonColor: MzanziInnovationHub.of(context)! .theme .secondaryColor(), textColor: MzanziInnovationHub.of(context)!.theme.primaryColor(), )) ], ), ), ), Positioned( top: 5, right: 5, width: 50, height: 50, child: IconButton( onPressed: () { Navigator.pop(context); }, icon: Icon( Icons.close, color: MzanziInnovationHub.of(context)!.theme.errorColor(), size: 35, ), ), ), ], ); } Widget? getDeleteMessage(String type) { return messageTypes[type]; } @override void dispose() { // TODO: implement dispose super.dispose(); } @override Widget build(BuildContext context) { var size = MediaQuery.of(context).size; setState(() { width = size.width; height = size.height; }); checkScreenSize(); setDeleteNote(); setFileNote(); setDeleteEmployee(); //print(size); // setState(() { // width = size.width; // height = size.height; // }); return Dialog(child: getDeleteMessage(widget.deleteType)); } }