export default defineContentScript({
matches: ["*://*.
youtube.com/*"],
main() {
const observer = new MutationObserver(() => {
const cards = document.querySelectorAll<HTMLElement>(
"ytd-rich-item-renderer"
)
cards.forEach(card => {
const menu = card.querySelector<HTMLElement>(
".yt-lockup-metadata-view-model__menu-button"
)
if (!menu) return
if (card.querySelector(".my-btn")) return
const wrapper = document.createElement("div")
wrapper.className = "my-btn"
menu.insertAdjacentElement("afterend", wrapper)
const root = ReactDOM.createRoot(wrapper)
root.render(<Button />)
})
})
observer.observe(document.body, { childList: true, subtree: true })
},
})