import React, { useState, useEffect } from 'react'; import { ArrowUpward, ArrowDownward } from '@mui/icons-material'; const SortHeader = (params) => { const [sortState, setSortState] = useState(null); // Update sort state when it changes useEffect(() => { const updateSortState = () => { const currentSort = params.column?.getSort(); setSortState(currentSort); }; // Initial sort state updateSortState(); // Listen for sort changes if (params.api) { params.api.addEventListener('sortChanged', updateSortState); return () => { // Check if grid API is still valid before removing listener if (params.api && !params.api.isDestroyed()) { params.api.removeEventListener('sortChanged', updateSortState); } }; } }, [params.api, params.column]); const handleSort = (direction, event) => { if (params.setSort) { params.setSort(direction, event.shiftKey); } }; return (