Skip to content

Commit c3e37f2

Browse files
committed
feat: add tooltip message handling in CopyButton component
1 parent 3db3596 commit c3e37f2

File tree

2 files changed

+28
-24
lines changed

2 files changed

+28
-24
lines changed

src/components/CopyButton.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,18 @@ const CopyButton = ({
1212
displayText,
1313
buttonText,
1414
tooltipWithText = false,
15+
tooltipText = 'Copy',
1516
className,
1617
}: {
1718
textToCopy: string;
1819
displayText?: string;
1920
buttonText?: string;
2021
tooltipWithText?: boolean;
22+
tooltipText?: string;
2123
className?: string;
2224
}) => {
2325
const [showTooltip, setShowTooltip] = useState(false);
24-
const [tooltipMessage, setTooltipMessage] = useState('Copy');
26+
const [tooltipMessage, setTooltipMessage] = useState(tooltipText);
2527

2628
const handleCopy = () => {
2729
navigator.clipboard.writeText(textToCopy).then(() => {
@@ -35,7 +37,7 @@ const CopyButton = ({
3537
if (tooltipWithText && displayText) {
3638
setTooltipMessage(`Copy "${displayText}"`);
3739
} else {
38-
setTooltipMessage('Copy');
40+
setTooltipMessage(tooltipText);
3941
}
4042
setShowTooltip(true);
4143
};

src/modules/Tags.tsx

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -12,29 +12,31 @@ const Tags = (props: { children: string }) => {
1212
// If decoding fails, fall back to displaying raw encoded tag
1313
}
1414
return (
15-
<div>
16-
<div className="flex items-center gap-1">
17-
{tags ? (
18-
tags.length > 0 ? (
19-
tags.map((t) => (
20-
<span
21-
className="inline-flex w-fit rounded-full border px-4 py-2 text-xs uppercase"
22-
key={t}
23-
>
24-
{t}
25-
</span>
26-
))
27-
) : (
28-
<span className="text-muted-foreground">None</span>
29-
)
15+
<div className="flex items-center gap-1">
16+
{tags ? (
17+
tags.length > 0 ? (
18+
tags.map((t) => (
19+
<span
20+
className="inline-flex w-fit rounded-full border px-4 py-2 text-xs uppercase"
21+
key={t}
22+
>
23+
{t}
24+
</span>
25+
))
3026
) : (
31-
<>
32-
<span className="hidden md:inline">{raw}</span>
33-
<span className="inline md:hidden">{truncateAddress(raw)}</span>
34-
</>
35-
)}{' '}
36-
<CopyButton textToCopy={raw} />
37-
</div>
27+
<span className="text-muted-foreground">None</span>
28+
)
29+
) : (
30+
<>
31+
<span className="hidden md:inline">{raw}</span>
32+
<span className="inline md:hidden">{truncateAddress(raw)}</span>
33+
</>
34+
)}{' '}
35+
<CopyButton
36+
className="ml-2"
37+
textToCopy={raw}
38+
tooltipText="Copy raw tag"
39+
/>
3840
</div>
3941
);
4042
};

0 commit comments

Comments
 (0)