CopyButton: add string getting func option

This commit is contained in:
Harvey Tindall
2025-12-07 11:38:46 +00:00
committed by GitHub
parent 49f2026c47
commit fb5ea43ef5

View File

@@ -379,7 +379,7 @@ export function throttle (callback: () => void, limitMilliseconds: number): () =
}
}
export function SetupCopyButton(button: HTMLButtonElement, text: string, baseClass?: string, notif?: string) {
export function SetupCopyButton(button: HTMLButtonElement, text: string | () => string, baseClass?: string, notif?: string) {
if (!notif) notif = window.lang.strings("copied");
if (!baseClass) baseClass = "~info";
// script will probably turn this into multiple
@@ -391,7 +391,11 @@ export function SetupCopyButton(button: HTMLButtonElement, text: string, baseCla
icon.classList.add("icon", "ri-file-copy-line");
button.appendChild(icon)
button.onclick = () => {
toClipboard(text);
if (typeof text === "string") {
toClipboard(text);
} else {
toClipboard(text());
}
icon.classList.remove("ri-file-copy-line");
icon.classList.add("ri-check-line");
button.classList.remove(...baseClasses);