diff --git a/src/components/Expenses/ExpenseFilterPanel.jsx b/src/components/Expenses/ExpenseFilterPanel.jsx index b83202a4..c6829d45 100644 --- a/src/components/Expenses/ExpenseFilterPanel.jsx +++ b/src/components/Expenses/ExpenseFilterPanel.jsx @@ -13,24 +13,23 @@ import { useSelector } from "react-redux"; import moment from "moment"; import { useExpenseFilter } from "../../hooks/useExpense"; import { ExpenseFilterSkeleton } from "./ExpenseSkeleton"; - - +import { useLocation } from "react-router-dom"; const ExpenseFilterPanel = ({ onApply, handleGroupBy }) => { const selectedProjectId = useSelector((store) => store.localVariables.projectId); const { data, isLoading,isError,error,isFetching , isFetched} = useExpenseFilter(); -const groupByList = useMemo(() => { - return [ - { id: "transactionDate", name: "Transaction Date" }, - { id: "status", name: "Status" }, - { id: "submittedBy", name: "Submitted By" }, - { id: "project", name: "Project" }, - { id: "paymentMode", name: "Payment Mode" }, - { id: "expensesType", name: "Expense Type" }, + const groupByList = useMemo(() => { + return [ + { id: "transactionDate", name: "Transaction Date" }, + { id: "status", name: "Status" }, + { id: "submittedBy", name: "Submitted By" }, + { id: "project", name: "Project" }, + { id: "paymentMode", name: "Payment Mode" }, + { id: "expensesType", name: "Expense Type" }, { id: "createdAt", name: "Submitted Date" } - ].sort((a, b) => a.name.localeCompare(b.name)); -}, []); + ].sort((a, b) => a.name.localeCompare(b.name)); + }, []); const [selectedGroup, setSelectedGroup] = useState(groupByList[0]); @@ -72,6 +71,12 @@ const groupByList = useMemo(() => { closePanel(); }; + // ✅ Close popup when navigating to another component + const location = useLocation(); + useEffect(() => { + closePanel(); + }, [location]); + if (isLoading || isFetching) return ; if(isError && isFetched) return
Something went wrong Here- {error.message}
return ( @@ -162,21 +167,21 @@ const groupByList = useMemo(() => { -
+
- -
+ +