import {useEffect, type FunctionComponent} from 'react' import type {VisualEditingNode} from '../types' /** * @internal */ export const Meta: FunctionComponent<{ comlink: VisualEditingNode }> = (props) => { const {comlink} = props useEffect(() => { const sendMeta = () => { comlink.post('visual-editing/meta', {title: document.title}) } const observer = new MutationObserver(([mutation]) => { if (mutation.target.nodeName === 'TITLE') { sendMeta() } }) observer.observe(document.head, { subtree: true, characterData: true, childList: true, }) sendMeta() return () => observer.disconnect() }, [comlink]) return null }