'use client'; import React from 'react'; import type { DropdownMenuProps } from '@radix-ui/react-dropdown-menu'; import { focusEditor, useEditorReadOnly, useEditorRef, usePlateStore, } from '@udecode/plate-common/react'; import { Eye, Pen } from 'lucide-react'; import { DropdownMenu, DropdownMenuContent, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuTrigger, useOpenState, } from './dropdown-menu'; import { ToolbarButton } from './toolbar'; export function ModeDropdownMenu(props: DropdownMenuProps) { const editor = useEditorRef(); const setReadOnly = usePlateStore().set.readOnly(); const readOnly = useEditorReadOnly(); const openState = useOpenState(); let value = 'editing'; if (readOnly) value = 'viewing'; const item: any = { editing: ( <> Editing ), viewing: ( <> Viewing ), }; return ( {item[value]} { if (newValue !== 'viewing') { setReadOnly(false); } if (newValue === 'viewing') { setReadOnly(true); return; } if (newValue === 'editing') { focusEditor(editor); return; } }} > {item.editing} {item.viewing} ); }