import { onMounted, onUpdated } from 'vue' import { copyText } from '@/utils/format' export function useCopyCode() { function copyCodeBlock() { const codeBlockWrapper = document.querySelectorAll('.code-block-wrapper') codeBlockWrapper.forEach((wrapper) => { const copyBtn = wrapper.querySelector('.code-block-header__copy') const codeBlock = wrapper.querySelector('.code-block-body') if (copyBtn && codeBlock) { copyBtn.addEventListener('click', () => { if (navigator.clipboard?.writeText) navigator.clipboard.writeText(codeBlock.textContent ?? '') else copyText({ text: codeBlock.textContent ?? '', origin: true }) }) } }) } onMounted(() => copyCodeBlock()) onUpdated(() => copyCodeBlock()) }