import { EditorBubble, removeAIHighlight, useEditor } from "novel"; import { Fragment, type ReactNode, useEffect } from "react"; import { Button } from "../../ui/button"; import Magic from "../../ui/icons/magic"; import { AISelector } from "./ai-selector"; interface GenerativeMenuSwitchProps { children: ReactNode; open: boolean; onOpenChange: (open: boolean) => void; } const GenerativeMenuSwitch = ({ children, open, onOpenChange, }: GenerativeMenuSwitchProps) => { const { editor } = useEditor(); useEffect(() => { if (!open && editor) removeAIHighlight(editor); }, [open]); if (!editor) return null; return ( { onOpenChange(false); editor.chain().unsetHighlight().run(); }, }} className="border-muted bg-background flex w-fit max-w-[90vw] overflow-hidden rounded-md border shadow-xl" > {open && } {!open && ( {children} )} ); }; export default GenerativeMenuSwitch;