"use client"
import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext"
import { CLEAR_EDITOR_COMMAND } from "lexical"
import { Trash2Icon } from "lucide-react"
import { Button } from "@/registry/new-york-v4/ui/button"
import {
Dialog,
DialogClose,
DialogContent,
DialogDescription,
DialogFooter,
DialogHeader,
DialogTitle,
DialogTrigger,
} from "@/registry/new-york-v4/ui/dialog"
import {
Tooltip,
TooltipContent,
TooltipTrigger,
} from "@/registry/new-york-v4/ui/tooltip"
export function ClearEditorActionPlugin() {
const [editor] = useLexicalComposerContext()
return (
<Dialog>
<Tooltip disableHoverableContent>
<TooltipTrigger asChild>
<DialogTrigger asChild>
<Button size={"sm"} variant={"ghost"} className="p-2">
<Trash2Icon className="h-4 w-4" />
</Button>
</DialogTrigger>
</TooltipTrigger>
<TooltipContent>Clear Editor</TooltipContent>
</Tooltip>
<DialogContent>
<DialogHeader>
<DialogTitle>Clear Editor</DialogTitle>
<DialogDescription>
Are you sure you want to clear the editor?
</DialogDescription>
</DialogHeader>
<DialogFooter>
<DialogClose asChild>
<Button variant="outline">Cancel</Button>
</DialogClose>
<DialogClose asChild>
<Button
variant="destructive"
onClick={() => {
editor.dispatchCommand(CLEAR_EDITOR_COMMAND, undefined)
}}
>
Clear
</Button>
</DialogClose>
</DialogFooter>
</DialogContent>
</Dialog>
)
}