setupAlertDialogContainer method

void setupAlertDialogContainer(
  1. dynamic context,
  2. EnxController obj
)

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)))),
                                ),
                              )),
                        ],
                      ),
                    ),
                ]));
      });
}