Files
homelab-optimized/dashboard/ui/components/copyable.tsx
Gitea Mirror Bot 11d496f233
Some checks failed
Documentation / Build Docusaurus (push) Failing after 17m32s
Documentation / Deploy to GitHub Pages (push) Has been skipped
Sanitized mirror from private repository - 2026-04-19 08:46:29 UTC
2026-04-19 08:46:29 +00:00

23 lines
591 B
TypeScript

"use client";
import { useState, useCallback } from "react";
export function Copyable({ text, className = "" }: { text: string; className?: string }) {
const [copied, setCopied] = useState(false);
const copy = useCallback(() => {
navigator.clipboard.writeText(text);
setCopied(true);
setTimeout(() => setCopied(false), 1500);
}, [text]);
return (
<span
onClick={copy}
className={`cursor-pointer hover:underline decoration-dotted underline-offset-2 ${className}`}
title="Click to copy"
>
{copied ? "OK copied" : text}
</span>
);
}