diff --git a/src/components/Expenses/ExpenseList.jsx b/src/components/Expenses/ExpenseList.jsx index ea9f41c6..58a6cf22 100644 --- a/src/components/Expenses/ExpenseList.jsx +++ b/src/components/Expenses/ExpenseList.jsx @@ -4,7 +4,7 @@ import Avatar from "../common/Avatar"; import { useExpenseContext } from "../../pages/Expense/ExpensePage"; import { formatDate, formatUTCToLocalTime } from "../../utils/dateUtils"; import Pagination from "../common/Pagination"; -import { APPROVE_EXPENSE } from "../../utils/constants"; +import { APPROVE_EXPENSE, EXPENSE_DRAFT, EXPENSE_REJECTEDBY } from "../../utils/constants"; import { getColorNameFromHex, useDebounce } from "../../utils/appUtils"; import { ExpenseTableSkeleton } from "./ExpenseSkeleton"; import ConfirmModal from "../common/ConfirmModal"; @@ -164,7 +164,19 @@ const ExpenseList = ({ filters, groupBy = "transactionDate",searchText }) => { ? groupByField(data?.data ?? [], groupBy) : { All: data?.data ?? [] }; const IsGroupedByDate = ["transactionDate", "createdAt"].includes(groupBy); +const canEditExpense = (expense) => { + return ( + (expense.status.id === EXPENSE_DRAFT || + EXPENSE_REJECTEDBY.includes(expense.status.id)) && + expense.createdBy?.id === SelfId + ); +}; +const canDetetExpense = (expense)=>{ + return (expense.status.id === EXPENSE_DRAFT && expense.createdBy.id === SelfId ) +} + + return ( <> {IsDeleteModalOpen && ( @@ -255,29 +267,28 @@ const ExpenseList = ({ filters, groupBy = "transactionDate",searchText }) => { }) } > - {(expense.status.name === "Draft" || - expense.status.name === "Rejected") && - expense.createdBy.id === SelfId && ( - - setManageExpenseModal({ - IsOpen: true, - expenseId: expense.id, - }) - } - > - )} - {expense.status.name === "Draft" && - expense.createdBy.id === SelfId && ( - + setManageExpenseModal({ + IsOpen: true, + expenseId: expense.id, + }) + } + > +)} + + {canDetetExpense(expense) && ( + { setIsDeleteModalOpen(true); setDeletingId(expense.id); }} > - )} + )} +