Suggestion Toolbar Button

PreviousNext

A toolbar button for toggling suggestion mode in the editor.

Preview

Loading preview…
registry/ui/suggestion-toolbar-button.tsx
'use client';

import * as React from 'react';

import { SuggestionPlugin } from '@platejs/suggestion/react';
import { PencilLineIcon } from 'lucide-react';
import { useEditorPlugin, usePluginOption } from 'platejs/react';

import { cn } from '@/lib/utils';

import { ToolbarButton } from './toolbar';

export function SuggestionToolbarButton() {
  const { setOption } = useEditorPlugin(SuggestionPlugin);
  const isSuggesting = usePluginOption(SuggestionPlugin, 'isSuggesting');

  return (
    <ToolbarButton
      className={cn(isSuggesting && 'text-brand/80 hover:text-brand/80')}
      onClick={() => setOption('isSuggesting', !isSuggesting)}
      onMouseDown={(e) => e.preventDefault()}
      tooltip={isSuggesting ? 'Turn off suggesting' : 'Suggestion edits'}
    >
      <PencilLineIcon />
    </ToolbarButton>
  );
}

Installation

npx shadcn@latest add @plate/suggestion-toolbar-button

Usage

import { SuggestionToolbarButton } from "@/components/ui/suggestion-toolbar-button"
<SuggestionToolbarButton />