From 441562a6acf21584e0d3c2e693585ba1909bcf57 Mon Sep 17 00:00:00 2001 From: EnixCoda Date: Thu, 16 Apr 2020 09:52:44 +0800 Subject: [PATCH] feat: show no more than one copy snippet button --- src/platforms/GitHub/DOMHelper.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/platforms/GitHub/DOMHelper.ts b/src/platforms/GitHub/DOMHelper.ts index b1ffde8..3bcac7e 100644 --- a/src/platforms/GitHub/DOMHelper.ts +++ b/src/platforms/GitHub/DOMHelper.ts @@ -161,6 +161,7 @@ export function attachCopySnippet() { * */ if (target.parentNode) { + removeAttachedOnes() // show no more than one button const clippyElement = await renderReact( React.createElement(Clippy, { codeSnippetElement: target }), ) @@ -171,14 +172,17 @@ export function attachCopySnippet() { } } } - readmeElement.addEventListener('mouseover', mouseOverCallback) - return () => { - readmeElement.removeEventListener('mouseover', mouseOverCallback) + function removeAttachedOnes() { const buttons = document.querySelectorAll(`.${ClippyClassName}`) buttons.forEach(button => { button.parentElement?.removeChild(button) }) } + readmeElement.addEventListener('mouseover', mouseOverCallback) + return () => { + readmeElement.removeEventListener('mouseover', mouseOverCallback) + removeAttachedOnes() + } }, () => { const plainReadmeSelector = '.repository-content div#readme .plain'