setupAlertDialogContainer method
Implementation
void setupAlertDialogContainer(context, EnxController obj) {
showDialog(
context: context,
builder: (BuildContext context) {
return obj.floorRequestList.isEmpty
? SimpleDialog(elevation: 20, children: [
Center(
child: Text(
'No Request found',
style: TextStyle(color: Colors.black, fontSize: 17.sp),
))
])
: Dialog(
insetPadding: const EdgeInsets.all(10),
child: ListView(shrinkWrap: true, children: [
for (var item in obj.floorRequestList)
ListTile(
leading: const Icon(Icons.person_outlined),
title: Text(
item.name,
),
trailing: Row(
mainAxisSize: MainAxisSize.min,
children: [
Visibility(
visible: item.isRequestAccepted,
child: ElevatedButton(
onPressed: () {
obj.acceptFloors(item.clientId);
Get.back();
},
child: const Text('Accept'),
style: ButtonStyle(
backgroundColor:
MaterialStateProperty.all<Color>(
CustomColors.themeColor),
shape: MaterialStateProperty.all<
RoundedRectangleBorder>(
RoundedRectangleBorder(
borderRadius:
BorderRadius.circular(12.0),
side: const BorderSide(
color: CustomColors.themeColor)))),
),
),
Visibility(
visible: item.isRequestRejected,
child: Padding(
padding: const EdgeInsets.only(left: 2.0),
child: ElevatedButton(
onPressed: () {
obj.rejectFloors(item.clientId);
Get.back();
},
child: const Text('Reject'),
style: ButtonStyle(
backgroundColor:
MaterialStateProperty.all<Color>(
CustomColors.themeColor),
shape: MaterialStateProperty.all<
RoundedRectangleBorder>(
RoundedRectangleBorder(
borderRadius:
BorderRadius.circular(12.0),
side: const BorderSide(
color: CustomColors.themeColor)))),
),
),
),
Visibility(
visible: item.isRequestReleased,
child: Padding(
padding: const EdgeInsets.only(left: 2.0),
child: ElevatedButton(
onPressed: () {
obj.releaseFloors(item.clientId);
Get.back();
},
child: const Text('Revoke'),
style: ButtonStyle(
backgroundColor:
MaterialStateProperty.all<Color>(
CustomColors.themeColor),
shape: MaterialStateProperty.all<
RoundedRectangleBorder>(
RoundedRectangleBorder(
borderRadius:
BorderRadius.circular(12.0),
side: const BorderSide(
color: CustomColors.themeColor)))),
),
)),
],
),
),
]));
});
}