MCPcopy Create free account
hub / github.com/ZenNotes/zennotes / setCopyButtonFeedback

Function setCopyButtonFeedback

packages/app-core/src/lib/code-block-copy.ts:223–244  ·  view source on GitHub ↗
(
  button: HTMLButtonElement,
  state: 'copied' | 'failed'
)

Source from the content-addressed store, hash-verified

221}
222
223function setCopyButtonFeedback(
224 button: HTMLButtonElement,
225 state: 'copied' | 'failed'
226): void {
227 const previousTimer = resetTimers.get(button)
228 if (previousTimer != null) window.clearTimeout(previousTimer)
229
230 const copied = state === 'copied'
231 button.dataset.copyState = state
232 button.textContent = copied ? 'Copied' : 'Failed'
233 button.setAttribute('aria-label', copied ? 'Copied code block' : 'Copy failed')
234 button.title = copied ? 'Copied code block' : 'Copy failed'
235
236 const resetTimer = window.setTimeout(() => {
237 button.textContent = 'Copy'
238 button.setAttribute('aria-label', 'Copy code block')
239 button.title = 'Copy code block'
240 delete button.dataset.copyState
241 resetTimers.delete(button)
242 }, 1400)
243 resetTimers.set(button, resetTimer)
244}

Callers 1

copyCodeBlockToClipboardFunction · 0.85

Calls 1

deleteMethod · 0.80

Tested by

no test coverage detected