diff --git a/lib/view/finance/payment_request_screen.dart b/lib/view/finance/payment_request_screen.dart index 42719ee..8a42758 100644 --- a/lib/view/finance/payment_request_screen.dart +++ b/lib/view/finance/payment_request_screen.dart @@ -10,6 +10,8 @@ import 'package:marco/model/finance/add_payment_request_bottom_sheet.dart'; import 'package:marco/helpers/utils/date_time_utils.dart'; import 'package:marco/view/finance/payment_request_detail_screen.dart'; import 'package:marco/helpers/widgets/my_custom_skeleton.dart'; +import 'package:marco/controller/permission_controller.dart'; +import 'package:marco/helpers/utils/permission_constants.dart'; class PaymentRequestMainScreen extends StatefulWidget { const PaymentRequestMainScreen({super.key}); @@ -25,6 +27,7 @@ class _PaymentRequestMainScreenState extends State final searchController = TextEditingController(); final paymentController = Get.put(PaymentRequestController()); final projectController = Get.find(); + final permissionController = Get.put(PermissionController()); @override void initState() { @@ -122,14 +125,26 @@ class _PaymentRequestMainScreenState extends State ), ], ), - floatingActionButton: FloatingActionButton.extended( - onPressed: () { - showPaymentRequestBottomSheet(); - }, - backgroundColor: contentTheme.primary, - icon: const Icon(Icons.add), - label: const Text("Create Payment Request"), - ), + floatingActionButton: Obx(() { + if (permissionController.permissions.isEmpty) { + return const SizedBox.shrink(); + } + + final canCreate = + permissionController.hasPermission(Permissions.expenseUpload); + + return canCreate + ? FloatingActionButton.extended( + backgroundColor: contentTheme.primary, + onPressed: showPaymentRequestBottomSheet, + icon: const Icon(Icons.add, color: Colors.white), + label: const Text( + "Create Payment Request", + style: TextStyle(color: Colors.white, fontSize: 16), + ), + ) + : const SizedBox.shrink(); + }), ); }