@druid-sh/sdk
Version:
Druid.sh SDK for rendering blog content with SSR support
25 lines (24 loc) • 1.05 kB
JavaScript
// components/CopyButton.tsx
"use client";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = CopyButton;
const react_1 = __importDefault(require("react"));
const react_2 = require("react");
function CopyButton({ text, className = "" }) {
const [copied, setCopied] = (0, react_2.useState)(false);
const handleCopy = async () => {
try {
await navigator.clipboard.writeText(text);
setCopied(true);
setTimeout(() => setCopied(false), 2000);
}
catch (err) {
console.error("Failed to copy text: ", err);
}
};
return (react_1.default.createElement("button", { onClick: handleCopy, className: `px-2 py-1 text-xs bg-secondary hover:bg-secondary/80 text-secondary-foreground rounded transition-colors ${className}`, title: "Copy to clipboard" }, copied ? "✓ Copied" : "Copy"));
}
;