Position filter row below header and ensure filters apply
- Move filter row to top: 48px (below header) instead of top: 0 - Add paddingTop: 48px to AgGridReact to account for filter row - Set floatingFiltersHeight to 0...
Align filter row with columns and fix status filter
- Position filter row absolutely in floating filters space (48px height) - Add syncFilterRowWidths function to match column widths dynamically - Sync widths on ...
Use ref to store filter value and prevent AG Grid from resetting it
- Store current value in valueRef to persist across re-renders - Use isUserChangeRef to prevent sync effect from overriding user changes - Read initial model fr...
Remove onFloatingFilterChanged callback and improve CSS to hide filter icons
- Do not register onFloatingFilterChanged callback to prevent AG Grid from resetting value - Added comprehensive CSS rules to hide filter menu buttons and icons...
Correct DropdownFloatingFilter params and add statusFilterValue to Status filter
Correct filterParams type access and add statusFilterValue to params
Use customParams for filterParams access and add statusFilterValue to params
Make Status filter controlled and sync with status tabs
- Added statusFilterValue state to control Status filter dropdown - Status filter now syncs with activeStatusTab when tabs are clicked - Filter value is now con...
Prevent header refresh and maintain filter value with ref
- Use currentValueRef to track and persist filter value - Remove refreshHeader() call that was causing header to hide/reappear - Only update value from callback...
Properly track filter updates to prevent Status filter reset
- Use isUpdatingRef flag to track when we're making changes - Only allow parent model changes to update value if we're not updating - Initialize filter value fr...
Prevent filter reset with no-op callback and hide icons with menuTabs
- Register no-op onFloatingFilterChanged callback to prevent AG Grid from resetting filter value - Use menuTabs: [] instead of suppressHeaderMenuButton to hide ...
Prevent Status filter reset with ref flag and add suppressHeaderMenuButton
- Added suppressHeaderMenuButton to all columns that should hide filter icons - Improved isInternalChangeRef timing to prevent circular updates - Enhanced CSS s...
Prevent Status filter reset and improve filter icon hiding
- Added isInternalChangeRef to prevent circular updates in Status and SubStatus filters - Updated CSS selectors to better hide filter menu buttons and icons - F...
Remove extra Box wrapper that was breaking grid display
- Removed nested Box wrapper that was preventing grid from rendering - Moved CSS styles directly to the outer Box wrapper - Grid should now display leads correc...
Remove dependency from Sub Status filter useEffect to fix reactivity
Improve Sub Status filter reactivity and hide filter icons with CSS
- Remove getStatusFilterValue dependency from useEffect to prevent stale closures - Add CSS rules to hide filter menu button icons for Lead ID, Contact, Status,...
Properly enable Sub Status dropdown and remove all filter icons
- Add hasStatusFilter state to SubStatusFloatingFilter to track status filter changes - Add filterChanged event listener to immediately detect when Status filte...
Properly enable Sub Status dropdown and remove filter icons
- Fix Sub Status dropdown to be enabled when Status filter is selected (removed options.length check from disabled condition) - Add menuTabs: [] to Lead ID, Con...
Enable Sub Status dropdown when Status is selected and remove filter icons
- Fix Sub Status dropdown to be enabled when a Status filter is selected - Remove filter icons (suppressHeaderMenuButton) from Lead ID, Contact, Status, Sub Sta...
Resolve TypeScript type errors in DropdownFloatingFilter
- Change ExtendedParams to use intersection type instead of extending IFloatingFilterParams - Use type assertion for parentFilterInstance callback parameter - M...
Resolve ESLint errors in DropdownFloatingFilter component
- Add displayName to FloatingFilterComponent - Remove unused ref parameter - Replace any types with proper TypeScript interfaces - Add ExtendedParams interface ...
Change filter values from functions to arrays for dropdown display
- Change filterParams values from functions to direct arrays - AG Grid set filters require values as arrays, not functions - This should fix dropdown filters no...
Apply 50px padding only to Lead ID column in pinned rows - Change CSS selector from first-of-type to col-id=leadID to target only Lead ID column - Prevents padding from being applied to Contact and Actions columns - Pinned rows are already integrated into main datagrid via pinnedTopRowData
Align pinned rows with main list cells
- Add 50px padding-left to first cell (Lead ID) in pinned rows for account icon alignment - Compensate for 4px red border by moving pinned row left with marginL...
Replace any type with proper LeadWithAccount interface
- Create LeadWithAccount interface extending Lead with optional accountId - Replace any type assertion with LeadWithAccount type - Fixes ESLint error: Unexpecte...
Remove incorrect useMemo wrapper from ReportsPane component
- Remove erroneous }, []); closing bracket that was causing syntax error - ReportsPane is a regular function component, not wrapped in useMemo
Replace Grid components with Box to fix MUI Grid API compatibility
Add padding to main container to prevent tab panels from touching walls
Prevent table row movement and redrawing on checkbox selection
- Disable animateRows to prevent visual movement when rows are selected - Batch state updates in onSelectionChanged using requestAnimationFrame - Memoize pinned...
Change Grim status icon from raven.svg to raven.ico
- Update icon path from /icon/raven.svg to /icon/raven.ico - Keep red color filter (#ef4444) applied to icon - Icon size remains 18px to match other status icon...
Ensure raven.svg icon is properly displayed for Grim status
- Verify path /icon/raven.svg correctly references public/icon/raven.svg - Add display flex to ensure proper rendering - CSS filter applied to make icon red (#e...
Fix contact column vertical alignment and add checkboxes to pinned rows
- Add height: 100% and justifyContent: center to Contact column for vertical middle alignment - Manually add checkbox input to IdRenderer to ensure checkboxes a...
Improve contact field spacing, status alignment, and pinned rows
- Reduce gap between name and email in Contact field from 0.25 to 0 (with lineHeight adjustments) - Vertically align status field content to middle with flex al...
Vertically center urgent badge in Contact column
- Change alignItems from 'flex-start' to 'center' for vertical alignment - Remove mt: 0.25 margin-top as it's no longer needed with center alignment
Resolve ESLint errors in LeadManager
- Change 'let filtered' to 'const filtered' (prefer-const) - Replace 'any' types with proper PinnedLead interface - Remove unused PushPin import - Add explicit ...
Restore connection dragging functionality between task items
- Fixed startConnection function to properly accept answerIndex parameter - Added SVG rendering for connection lines (both existing and dragging) - Connection l...
Resolve TypeScript type error for react-draggable nodeRef
- Updated nodeRefs Map type to accept RefObject<HTMLDivElement | null> - Added type assertion when passing nodeRef to Draggable component - Fixes build error: T...
Resolve findDOMNode error on tasks page for React 19 compatibility
- Added nodeRef prop to react-draggable components to avoid deprecated findDOMNode - Created ref map to store refs for each draggable item - Added cleanup logic...
Correct button layout and make side buttons twice as wide
- Moved clear button to the right of call button - Backspace button remains on the left - Both side buttons (backspace and clear) are now twice as wide - Double...
Remove duplicate onMouseLeave prop in dial pad buttons
- Combined duplicate onMouseLeave handlers into single handler - Fixes build error: No duplicate props allowed
Resolve build errors in pipeline components
- Fixed Grid component usage: changed from Grid item xs={12} to Grid size={{ xs: 12 }} (MUI v6 Grid2 API) - Fixed invalid icon imports: replaced Package with In...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
