1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-19 21:29:38 +02:00
Maybe/app/javascript/controllers/clipboard_controller.js

29 lines
766 B
JavaScript
Raw Normal View History

import { Controller } from "@hotwired/stimulus";
export default class extends Controller {
static targets = ["source", "iconDefault", "iconSuccess"];
copy(event) {
event.preventDefault();
if (this.sourceTarget?.textContent) {
navigator.clipboard
.writeText(this.sourceTarget.textContent)
.then(() => {
this.showSuccess();
})
.catch((error) => {
console.error("Failed to copy text: ", error);
});
}
}
showSuccess() {
this.iconDefaultTarget.classList.add("hidden");
this.iconSuccessTarget.classList.remove("hidden");
setTimeout(() => {
this.iconDefaultTarget.classList.remove("hidden");
this.iconSuccessTarget.classList.add("hidden");
}, 3000);
}
}