Skip to content

Commit a194555

Browse files
committed
Merge pull request #4099 from regmsif/fix/image-preview
fix: prevent block menu on image preivew mask
1 parent e3a3607 commit a194555

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

src/components/plate-ui/image-preview.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,10 @@ export const ImagePreview = () => {
4848
return (
4949
<div
5050
className={cn(
51-
'fixed top-0 left-0 z-50 h-screen w-screen',
51+
'fixed top-0 left-0 z-50 h-screen w-screen select-none',
5252
!isOpen && 'hidden'
5353
)}
54+
onContextMenu={(e) => e.stopPropagation()}
5455
{...maskLayerProps}
5556
>
5657
<div className="absolute inset-0 size-full bg-black opacity-30"></div>

src/components/plate-ui/media-popover.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@ import {
88
FloatingMedia as FloatingMediaPrimitive,
99
FloatingMediaStore,
1010
useFloatingMediaValue,
11+
useImagePreviewValue,
1112
} from '@udecode/plate-media/react';
1213
import {
14+
useEditorRef,
1315
useEditorSelector,
1416
useElement,
1517
useReadOnly,
@@ -30,14 +32,17 @@ export interface MediaPopoverProps {
3032
}
3133

3234
export function MediaPopover({ children, plugin }: MediaPopoverProps) {
35+
const editor = useEditorRef();
3336
const readOnly = useReadOnly();
3437
const selected = useSelected();
3538

3639
const selectionCollapsed = useEditorSelector(
3740
(editor) => !editor.api.isExpanded(),
3841
[]
3942
);
40-
const isOpen = !readOnly && selected && selectionCollapsed;
43+
const isImagePreviewOpen = useImagePreviewValue('isOpen', editor.id);
44+
const isOpen =
45+
!readOnly && selected && selectionCollapsed && !isImagePreviewOpen;
4146
const isEditing = useFloatingMediaValue('isEditing');
4247

4348
useEffect(() => {

0 commit comments

Comments
 (0)