fix: hide per-image toolbars during multi-select
This commit is contained in:
parent
171b4dce60
commit
1a9ecac889
@ -229,6 +229,7 @@ interface ImageNodeProps {
|
||||
|
||||
export function ImageNode({ node, isSelected }: ImageNodeProps) {
|
||||
const data = node.data as ImageNodeData;
|
||||
const selectedNodeIds = useCanvasStore((state) => state.selectedNodeIds);
|
||||
const [isHovered, setIsHovered] = useState(false);
|
||||
const [isProcessing, setIsProcessing] = useState(false);
|
||||
const [angleDialogOpen, setAngleDialogOpen] = useState(false);
|
||||
@ -390,6 +391,7 @@ export function ImageNode({ node, isSelected }: ImageNodeProps) {
|
||||
setPickerMode(false);
|
||||
}, [setPickerMode]);
|
||||
const displayTitle = getImageNodeTitle(data, node.id);
|
||||
const isMultiSelected = isSelected && selectedNodeIds.length > 1;
|
||||
|
||||
const animateAddToChat = useCallback(async () => {
|
||||
if (!containerRef.current || !data.src || typeof window === "undefined") {
|
||||
@ -1427,7 +1429,7 @@ export function ImageNode({ node, isSelected }: ImageNodeProps) {
|
||||
return (
|
||||
<>
|
||||
{/* 选中时在图片上方显示标题 */}
|
||||
{isSelected && data.src && (
|
||||
{isSelected && !isMultiSelected && data.src && (
|
||||
<div className="absolute -top-7 left-0 right-0 flex items-center text-xs text-muted-foreground px-1 z-10">
|
||||
<div className="flex items-center gap-1 min-w-0">
|
||||
<ImagePlus className="h-3 w-3" />
|
||||
@ -1772,7 +1774,7 @@ export function ImageNode({ node, isSelected }: ImageNodeProps) {
|
||||
</Dialog>
|
||||
|
||||
{/* 工具栏使用 Portal 渲染到 body,避免被裁剪 */}
|
||||
{isSelected && data.src && !isEditingTitle && typeof document !== 'undefined' && createPortal(
|
||||
{isSelected && !isMultiSelected && data.src && !isEditingTitle && typeof document !== 'undefined' && createPortal(
|
||||
<TooltipProvider delayDuration={200}>
|
||||
<div
|
||||
className="fixed flex items-center gap-0.5 rounded-full shadow-xl px-2 py-1 z-[9999] bg-white/95 border border-gray-200 text-gray-800 dark:bg-gray-900/95 dark:border-gray-700 dark:text-gray-100"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user