Correction in logic for ExpenseStatus to Expense.
This commit is contained in:
parent
8e38f52e72
commit
e1455c9ef8
@ -1,9 +1,15 @@
|
||||
import React, { useMemo } from "react";
|
||||
|
||||
const ExpenseFilterChips = ({ filters, filterData, removeFilterChip }) => {
|
||||
// Build chips from filters
|
||||
const filterChips = useMemo(() => {
|
||||
if (!filterData?.projects?.length) return [];
|
||||
|
||||
const chips = [];
|
||||
const projectExists = filters.projectIds?.every((pid) =>
|
||||
filterData.projects.some((p) => p.id === pid)
|
||||
);
|
||||
|
||||
if (!projectExists) return [];
|
||||
|
||||
const buildGroup = (ids, list, label, key) => {
|
||||
if (!ids?.length) return;
|
||||
@ -49,10 +55,7 @@ const ExpenseFilterChips = ({ filters, filterData, removeFilterChip }) => {
|
||||
className="d-flex align-items-center flex-wrap px-2 py-1"
|
||||
style={{ fontSize: "0.9rem", maxWidth: "100%" }}
|
||||
>
|
||||
{/* Chip Label */}
|
||||
<span className="fw-semibold me-2">{chip.label}:</span>
|
||||
|
||||
{/* Chip Items */}
|
||||
<div className="d-flex flex-wrap align-items-center gap-1">
|
||||
{chip.items.map((item) => (
|
||||
<span
|
||||
@ -78,12 +81,10 @@ const ExpenseFilterChips = ({ filters, filterData, removeFilterChip }) => {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
export default ExpenseFilterChips;
|
||||
|
||||
|
||||
|
||||
@ -121,10 +121,19 @@ const ExpenseFilterPanel = forwardRef(({ onApply, handleGroupBy, setFilterdata }
|
||||
useEffect(() => {
|
||||
if (!status || !data) return;
|
||||
|
||||
const projectExists = selectedProjectId
|
||||
? data?.projects?.some((p) => p.id === selectedProjectId)
|
||||
: false;
|
||||
|
||||
if (!projectExists) {
|
||||
console.warn("Project not found, skipping ExpenseStatus filter.");
|
||||
return; // stop processing
|
||||
}
|
||||
|
||||
if (status !== appliedStatusId) {
|
||||
const filterWithStatus = {
|
||||
...dynamicDefaultFilter,
|
||||
projectIds: selectedProjectId ? [selectedProjectId] : dynamicDefaultFilter.projectIds || [],
|
||||
projectIds: [selectedProjectId],
|
||||
startDate: dynamicDefaultFilter.startDate
|
||||
? moment.utc(dynamicDefaultFilter.startDate, "DD-MM-YYYY").toISOString()
|
||||
: undefined,
|
||||
@ -148,6 +157,8 @@ const ExpenseFilterPanel = forwardRef(({ onApply, handleGroupBy, setFilterdata }
|
||||
selectedProjectId,
|
||||
]);
|
||||
|
||||
|
||||
|
||||
if (isLoading || isFetching) return <ExpenseFilterSkeleton />;
|
||||
if (isError && isFetched)
|
||||
return <div>Something went wrong Here- {error.message} </div>;
|
||||
|
||||
@ -98,9 +98,9 @@ const router = createBrowserRouter(
|
||||
{ path: "/activities/task", element: <TaskPlannng /> },
|
||||
{ path: "/activities/reports", element: <Reports /> },
|
||||
{ path: "/gallary", element: <ComingSoonPage /> },
|
||||
{ path: "/expenses", element: <ExpensePage /> },
|
||||
{ path: "/expenses/:status?/:project?", element: <ExpensePage /> },
|
||||
{ path: "/collection", element: <CollectionPage /> },
|
||||
{ path: "/expenses", element: <ExpensePage /> },
|
||||
{ path: "/payment-request", element: <PaymentRequestPage /> },
|
||||
{ path: "/advance-payment", element: <AdvancePaymentPage /> },
|
||||
{ path: "/recurring-payment", element: <RecurringExpensePage /> },
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user