'use client';
import React from 'react';
import type { DropdownMenuProps } from '@radix-ui/react-dropdown-menu';
import { SuggestionPlugin } from '@udecode/plate-suggestion/react';
import {
useEditorRef,
usePlateState,
usePluginOption,
} from '@udecode/plate/react';
import { Eye, Pen, PencilLineIcon } 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 [readOnly, setReadOnly] = usePlateState('readOnly');
const openState = useOpenState();
const isSuggesting = usePluginOption(SuggestionPlugin, 'isSuggesting');
let value = 'editing';
if (readOnly) value = 'viewing';
if (isSuggesting) value = 'suggestion';
const item: any = {
editing: (
<>
Editing
>
),
suggestion: (
<>
Suggestion
>
),
viewing: (
<>
Viewing
>
),
};
return (
{item[value]}
{
if (newValue === 'viewing') {
setReadOnly(true);
return;
} else {
setReadOnly(false);
}
if (newValue === 'suggestion') {
editor.setOption(SuggestionPlugin, 'isSuggesting', true);
return;
} else {
editor.setOption(SuggestionPlugin, 'isSuggesting', false);
}
if (newValue === 'editing') {
editor.tf.focus();
return;
}
}}
>
{item.editing}
{item.viewing}
{item.suggestion}
);
}