diff --git a/libs/domains/environment-logs/feature/src/lib/header-environment-stages/header-environment-stages.tsx b/libs/domains/environment-logs/feature/src/lib/header-environment-stages/header-environment-stages.tsx index 9eae4317635..d1e1d4a6feb 100644 --- a/libs/domains/environment-logs/feature/src/lib/header-environment-stages/header-environment-stages.tsx +++ b/libs/domains/environment-logs/feature/src/lib/header-environment-stages/header-environment-stages.tsx @@ -1,8 +1,9 @@ import { useParams } from '@tanstack/react-router' import clsx from 'clsx' import { type DeploymentHistoryEnvironmentV2, type EnvironmentStatus } from 'qovery-typescript-axios' -import { type PropsWithChildren } from 'react' +import { type PropsWithChildren, useState } from 'react' import { Badge, DeploymentAction, Icon, StatusChip, Tooltip } from '@qovery/shared/ui' +import { useCopyToClipboard } from '@qovery/shared/util-hooks' import { trimId } from '@qovery/shared/util-js' export interface HeaderEnvironmentStagesProps extends PropsWithChildren { @@ -17,6 +18,16 @@ export function HeaderEnvironmentStages({ }: HeaderEnvironmentStagesProps) { const { deploymentId } = useParams({ strict: false }) const totalDurationSec = environmentStatus?.total_deployment_duration_in_seconds ?? 0 + const [isCopied, setIsCopied] = useState(false) + const [, copyToClipboard] = useCopyToClipboard() + + const handleCopyExecutionId = () => { + if (!deploymentId) return + + copyToClipboard(deploymentId) + setIsCopied(true) + setTimeout(() => setIsCopied(false), 1000) + } return (