'use client'
import { Editor } from '@tiptap/react'
import {
Bold,
Italic,
List,
ListOrdered,
Quote,
Heading1,
Heading2,
Heading3,
Minus,
Link,
Image,
} from 'lucide-react'
import { Toggle } from '@/components/ui/toggle'
import { Separator } from '@/components/ui/separator'
import { cn } from '@/lib/utils'
interface EditorToolbarProps {
editor: Editor | null
}
export function EditorToolbar({ editor }: EditorToolbarProps) {
if (!editor) return null
return (
editor.chain().focus().toggleHeading({ level: 1 }).run()}
>
editor.chain().focus().toggleHeading({ level: 2 }).run()}
>
editor.chain().focus().toggleHeading({ level: 3 }).run()}
>
editor.chain().focus().toggleBold().run()}
>
editor.chain().focus().toggleItalic().run()}
>
editor.chain().focus().toggleBulletList().run()}
>
editor.chain().focus().toggleOrderedList().run()}
>
editor.chain().focus().toggleBlockquote().run()}
>
editor.chain().focus().setHorizontalRule().run()}
>
{
const url = window.prompt('URL')
if (url) {
editor.chain().focus().setLink({ href: url }).run()
}
}}
>
{
const url = window.prompt('Image URL')
if (url) {
editor.chain().focus().setImage({ src: url }).run()
}
}}
>
)
}