import React, { createContext, useState, useEffect, useContext } from "react"; import Breadcrumb from "../../components/common/Breadcrumb"; import GlobalModel from "../../components/common/GlobalModel"; import { useFab } from "../../Context/FabContext"; import ManageRecurringExpense from "../../components/RecurringExpense/ManageRecurringExpense"; import RecurringExpenseList from "../../components/RecurringExpense/RecurringExpenseList"; import { PAYEE_RECURRING_EXPENSE } from "../../utils/constants"; import { SearchRecurringExpenseSchema } from "../../components/RecurringExpense/RecurringExpenseSchema"; export const RecurringExpenseContext = createContext(); export const useRecurringExpenseContext = () => { const context = useContext(RecurringExpenseContext); if (!context) { throw new Error("useRecurringExpenseContext must be used within an ExpenseProvider"); } return context; }; const RecurringExpensePage = () => { const [ManageRequest, setManageRequest] = useState({ IsOpen: null, RecurringId: null, }); const [ViewRequest, setVieRequest] = useState({ view: false, requestId: null }) const [selectedStatuses, setSelectedStatuses] = useState( PAYEE_RECURRING_EXPENSE.map((s) => s.id) ); const [search, setSearch] = useState(""); const contextValue = { setManageRequest, setVieRequest }; const handleStatusChange = (id) => { setSelectedStatuses((prev) => prev.includes(id) ? prev.filter((s) => s !== id) : [...prev, id] ); }; return (
{/* Breadcrumb */} {/* Top Bar */}
{/* Left side: Search + Filter */}
setSearch(e.target.value)} />
    {PAYEE_RECURRING_EXPENSE.map(({ id, label }) => (
  • handleStatusChange(id)} />
  • ))}
{/* Right side: Add Button */}
{/* Add/Edit Modal */} {ManageRequest.IsOpen && ( setManageRequest({ IsOpen: null, expenseId: null }) } > setManageRequest({ IsOpen: null, RecurringId: null }) } /> )} {/* {ViewRequest.view && ( setVieRequest({ requestId: null, view: false })} > )} */}
); }; export default RecurringExpensePage;