Files
vito/resources/js/components/command-cell.tsx
Saeed Vaziry 8b6f65db97 #591 - workers
2025-05-29 20:05:13 +02:00

31 lines
1013 B
TypeScript

import React, { useState } from 'react';
import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';
import { Badge } from '@/components/ui/badge';
export default function CommandCell({ command }: { command: string }) {
const [copySuccess, setCopySuccess] = useState(false);
const copyToClipboard = () => {
navigator.clipboard.writeText(command).then(() => {
setCopySuccess(true);
setTimeout(() => {
setCopySuccess(false);
}, 2000);
});
};
return (
<Tooltip>
<TooltipTrigger asChild>
<div className="inline-flex cursor-pointer justify-start space-x-2 truncate" onClick={copyToClipboard}>
<Badge variant={copySuccess ? 'success' : 'outline'} className="block max-w-[150px] overflow-ellipsis">
{command}
</Badge>
</div>
</TooltipTrigger>
<TooltipContent side="top">
<span className="flex items-center space-x-2">Copy</span>
</TooltipContent>
</Tooltip>
);
}