diff --git a/src/components/Expenses/ViewExpense.jsx b/src/components/Expenses/ViewExpense.jsx index 9c3b24a2..f6aeb09e 100644 --- a/src/components/Expenses/ViewExpense.jsx +++ b/src/components/Expenses/ViewExpense.jsx @@ -1,5 +1,9 @@ import React, { useState, useMemo } from "react"; -import { useActionOnExpense, useExpense, useHasAnyPermission } from "../../hooks/useExpense"; +import { + useActionOnExpense, + useExpense, + useHasAnyPermission, +} from "../../hooks/useExpense"; import { formatUTCToLocalTime } from "../../utils/dateUtils"; import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; @@ -11,12 +15,14 @@ import { useHasUserPermission } from "../../hooks/useHasUserPermission"; import { REVIEW_EXPENSE } from "../../utils/constants"; import { useProfile } from "../../hooks/useProfile"; import { useSelector } from "react-redux"; +import { useNavigate } from "react-router-dom"; const ViewExpense = ({ ExpenseId }) => { const { data, isLoading, isError, error } = useExpense(ExpenseId); const IsReview = useHasUserPermission(REVIEW_EXPENSE); const [imageLoaded, setImageLoaded] = useState({}); const { setDocumentView } = useExpenseContext(); + const navigate = useNavigate(); const { register, handleSubmit, @@ -30,27 +36,24 @@ const ViewExpense = ({ ExpenseId }) => { selectedStatus: "", }, }); - -const userPermissions = useSelector( - (state) => state?.globalVariables?.loginUser?.featurePermissions || [] -); + const userPermissions = useSelector( + (state) => state?.globalVariables?.loginUser?.featurePermissions || [] + ); -const nextStatusWithPermission = useMemo(() => { - if (!Array.isArray(data?.nextStatus)) return []; + const nextStatusWithPermission = useMemo(() => { + if (!Array.isArray(data?.nextStatus)) return []; - return data.nextStatus.filter((status) => { - const permissionIds = Array.isArray(status?.permissionIds) - ? status.permissionIds - : []; - - if (permissionIds.length === 0) return true; - - return permissionIds.some((id) => userPermissions.includes(id)); - }); -}, [data, userPermissions]); + return data.nextStatus.filter((status) => { + const permissionIds = Array.isArray(status?.permissionIds) + ? status.permissionIds + : []; + if (permissionIds.length === 0) return true; + return permissionIds.some((id) => userPermissions.includes(id)); + }); + }, [data, userPermissions]); const { mutate: MakeAction } = useActionOnExpense(() => reset()); @@ -189,12 +192,27 @@ const nextStatusWithPermission = useMemo(() => {