import React, { useCallback, useEffect, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { useIntl } from '@edx/frontend-platform/i18n'; import { Button, Dropdown, ModalPopup, useToggle, } from '@edx/paragon'; import { ExpandLess, ExpandMore } from '@edx/paragon/icons'; import { updateUserDiscussionsTourByName } from '../../tours/data'; import { selectCommentSortOrder } from '../data/selectors'; import { setCommentSortOrder } from '../data/slices'; import messages from '../messages'; const CommentSortDropdown = () => { const intl = useIntl(); const dispatch = useDispatch(); const sortedOrder = useSelector(selectCommentSortOrder); const [isOpen, open, close] = useToggle(false); const [target, setTarget] = useState(null); const handleActions = useCallback((reverseOrder) => { close(); dispatch(setCommentSortOrder(reverseOrder)); }, []); const enableCommentsSortTour = useCallback((enabled) => { const data = { enabled, tourName: 'response_sort', }; dispatch(updateUserDiscussionsTourByName(data)); }, []); useEffect(() => { enableCommentsSortTour(true); return () => { enableCommentsSortTour(false); }; }, []); return ( <>