From 5697ef3476aad9578982a283846a917f066014ed Mon Sep 17 00:00:00 2001 From: mbeaulne Date: Fri, 5 Dec 2025 11:38:33 -0500 Subject: [PATCH] Adds copy to other titles --- src/components/Editor/PipelineDetails.tsx | 5 +- src/components/PipelineRun/RunDetails.tsx | 5 +- src/components/shared/CopyText/CopyText.tsx | 75 +++++++++++++-------- 3 files changed, 52 insertions(+), 33 deletions(-) diff --git a/src/components/Editor/PipelineDetails.tsx b/src/components/Editor/PipelineDetails.tsx index e2210c342..ecc63f215 100644 --- a/src/components/Editor/PipelineDetails.tsx +++ b/src/components/Editor/PipelineDetails.tsx @@ -3,6 +3,7 @@ import { useEffect, useState } from "react"; import { PipelineValidationList } from "@/components/Editor/components/PipelineValidationList/PipelineValidationList"; import { useValidationIssueNavigation } from "@/components/Editor/hooks/useValidationIssueNavigation"; +import { CopyText } from "@/components/shared/CopyText/CopyText"; import { Button } from "@/components/ui/button"; import { Icon } from "@/components/ui/icon"; import { InlineStack } from "@/components/ui/layout"; @@ -134,9 +135,9 @@ const PipelineDetails = () => { {/* Header */}
-

+ {componentSpec.name ?? "Unnamed Pipeline"} -

+
diff --git a/src/components/PipelineRun/RunDetails.tsx b/src/components/PipelineRun/RunDetails.tsx index ec077e693..df2b8b26b 100644 --- a/src/components/PipelineRun/RunDetails.tsx +++ b/src/components/PipelineRun/RunDetails.tsx @@ -1,5 +1,6 @@ import { Frown, Videotape } from "lucide-react"; +import { CopyText } from "@/components/shared/CopyText/CopyText"; import { Spinner } from "@/components/ui/spinner"; import { useCheckComponentSpecFromPath } from "@/hooks/useCheckComponentSpecFromPath"; import { useUserDetails } from "@/hooks/useUserDetails"; @@ -84,9 +85,9 @@ export const RunDetails = () => {
-

+ {componentSpec.name ?? "Unnamed Pipeline"} -

+
diff --git a/src/components/shared/CopyText/CopyText.tsx b/src/components/shared/CopyText/CopyText.tsx index a36c3285a..74f843e69 100644 --- a/src/components/shared/CopyText/CopyText.tsx +++ b/src/components/shared/CopyText/CopyText.tsx @@ -10,9 +10,14 @@ import { copyToClipboard } from "@/utils/string"; interface CopyTextProps { children: string; className?: string; + alwaysShowButton?: boolean; } -export const CopyText = ({ children, className }: CopyTextProps) => { +export const CopyText = ({ + children, + className, + alwaysShowButton = false, +}: CopyTextProps) => { const [isCopied, setIsCopied] = useState(false); const [isHovered, setIsHovered] = useState(false); @@ -34,7 +39,6 @@ export const CopyText = ({ children, className }: CopyTextProps) => { }, []); return ( -
{
- ); }; + +interface CopyIconProps { + isCopied: boolean; + alwaysShow: boolean; + onAnimationEnd: () => void; +} +// +const CopyIcon = ({ isCopied, alwaysShow, onAnimationEnd }: CopyIconProps) => ( + + {isCopied ? ( + + + + ) : ( + + )} + +);