@sanity/visual-editing
Version:
[](https://npm-stat.com/charts.html?package=@sanity/visual-editing) [](https://
37 lines (28 loc) • 713 B
text/typescript
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
}