-
Implement core filtering/sorting hooks in DataContext.jsx
useFilteredDatahook (generic array → filtered/sorted)useDataFiltershook (filter state + persistence)- Configurable for different data types (customers/invoices/items/checkouts)
-
Update DataTable.jsx
- Add filter UI: search input, sortable headers, filter chips/dropdowns
- Integrate with new DataContext hooks
-
Demo in key pages
- InvoiceList.jsx: Use filtered data
- CustomerList.jsx: Use filtered data
- ItemsList.jsx: Use filtered data
-
Add comprehensive tests
- DataContext.test.jsx: Filter/sort unit tests
- Integration tests for pages
-
Documentation + Cleanup
- Update README examples
- Performance optimizations
- Plan created and approved
- Step 1: DataContext.jsx hooks implemented
- Step 2: DataTable.jsx UI updates (filter row, sortable headers, search/status controls)
- Step 3: Page integrations (InvoiceList, CustomerList, ItemsList using dataType props)
- Step 4: Tests (add filter/sort test cases to DataContext.test.jsx)
- Step 5: Task complete ✅
Next Step: Implement filtering/sorting hooks in src/context/DataContext.jsx