diff --git a/src/renderer/src/components/override/override-item.tsx b/src/renderer/src/components/override/override-item.tsx index bfb0f6c..500de82 100644 --- a/src/renderer/src/components/override/override-item.tsx +++ b/src/renderer/src/components/override/override-item.tsx @@ -10,7 +10,7 @@ import { } from '@heroui/react' import { IoMdMore, IoMdRefresh } from 'react-icons/io' import dayjs from '@renderer/utils/dayjs' -import React, { Key, useEffect, useMemo, useState } from 'react' +import React, { Key, useMemo, useState } from 'react' import EditFileModal from './edit-file-modal' import EditInfoModal from './edit-info-modal' import { useSortable } from '@dnd-kit/sortable' @@ -54,7 +54,7 @@ const OverrideItem: React.FC = (props) => { id: info.id }) const transform = tf ? { x: tf.x, y: tf.y, scaleX: 1, scaleY: 1 } : null - const [disableOpen, setDisableOpen] = useState(false) + const [dropdownOpen, setDropdownOpen] = useState(false) const menuItems: MenuItem[] = useMemo(() => { const list = [ { @@ -124,17 +124,13 @@ const OverrideItem: React.FC = (props) => { } } - useEffect(() => { - if (isDragging) { - setTimeout(() => { - setDisableOpen(true) - }, 200) - } else { - setTimeout(() => { - setDisableOpen(false) - }, 200) - } - }, [isDragging]) + + + const handleContextMenu = (e: React.MouseEvent) => { + e.preventDefault() + e.stopPropagation() + setDropdownOpen(true) + } return (
= (props) => { { - if (disableOpen) return + className="cursor-pointer" + onContextMenu={handleContextMenu} + onDoubleClick={(e) => { + if ((e.target as Element)?.closest('button, [role="menu"], [role="menuitem"]')) { + return + } setOpenFileEditor(true) }} > -
+

= (props) => { )} - +