import React, { useEffect } from 'react' import classNames from 'classnames' import { Popover, Transition } from '@headlessui/react' import { popover } from '../../components/popover' import { AppNavigationLink, useAppNavigate } from '../../navigation/use-app-navigate' import { Square2StackIcon, TrashIcon, XMarkIcon } from '@heroicons/react/24/outline' import { ChevronDownIcon } from '@heroicons/react/20/solid' import { useQueryContext } from '../../query-context' import { useRoutelessModalsContext } from '../../navigation/routeless-modals-context' import { SavedSegment } from '../../filtering/segments' import { DashboardQuery } from '../../query' const linkClassName = classNames( popover.items.classNames.navigationLink, popover.items.classNames.selectedOption, popover.items.classNames.hoverLink ) const buttonClassName = classNames( 'text-white font-medium bg-indigo-600 hover:bg-indigo-700' ) export const useClearExpandedSegmentModeOnFilterClear = ({ expandedSegment, query }: { expandedSegment: SavedSegment | null query: DashboardQuery }) => { const navigate = useAppNavigate() useEffect(() => { // clear edit mode on clearing all filters or removing last filter if (!!expandedSegment && !query.filters.length) { navigate({ search: (s) => s, state: { expandedSegment: null }, replace: true }) } }, [query.filters, expandedSegment, navigate]) } export const SegmentMenu = () => { const { setModal } = useRoutelessModalsContext() const { expandedSegment } = useQueryContext() if (!expandedSegment) { return null } return (