import { t } from 'i18next'; import { useRef, useState } from 'react'; import { ItemListHandle } from '/@/renderer/components/item-list/types'; import { PlayQueue } from '/@/renderer/features/now-playing/components/play-queue'; import { PlayQueueListControls } from '/@/renderer/features/now-playing/components/play-queue-list-controls'; import { ActionIcon } from '/@/shared/components/action-icon/action-icon'; import { Popover } from '/@/shared/components/popover/popover'; import { Stack } from '/@/shared/components/stack/stack'; import { useDisclosure } from '/@/shared/hooks/use-disclosure'; import { ItemListKey } from '/@/shared/types/types'; interface PopoverPlayQueueProps { onClose?: () => void; onToggle?: (e: React.MouseEvent) => void; opened?: boolean; } export const PopoverPlayQueue = ({ onClose, onToggle, opened: controlledOpened, }: PopoverPlayQueueProps = {}) => { const queueRef = useRef(null); const [search, setSearch] = useState(undefined); const [internalOpened, internalHandlers] = useDisclosure(false); const opened = controlledOpened !== undefined ? controlledOpened : internalOpened; const handleClose = onClose ? onClose : internalHandlers.close; const handleToggle = onToggle ? onToggle : internalHandlers.toggle; return ( ); };