Skip to content

Commit b08d4d6

Browse files
committed
chore: un-memoise markdown copy handler
1 parent 350ef73 commit b08d4d6

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

src/components/Layout/mdx/PageHeader.tsx

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,15 @@ export const PageHeader: React.FC<PageHeaderProps> = ({ title, intro }) => {
4444
[activePage.languages, product],
4545
);
4646

47-
const handleCopyMarkdown = useCallback(async () => {
47+
const resetCopyTooltip = useCallback(() => {
48+
setCopyTooltipOpen(true);
49+
setTimeout(() => {
50+
setCopyTooltipOpen(false);
51+
setTimeout(() => setCopyTooltipContent('Copy'), 150);
52+
}, 2000);
53+
}, []);
54+
55+
const handleCopyMarkdown = async () => {
4856
try {
4957
const response = await fetch(`${location.pathname}.md`);
5058

@@ -60,25 +68,17 @@ export const PageHeader: React.FC<PageHeaderProps> = ({ title, intro }) => {
6068
const content = await response.text();
6169
await navigator.clipboard.writeText(content);
6270
setCopyTooltipContent('Copied!');
63-
setCopyTooltipOpen(true);
64-
setTimeout(() => {
65-
setCopyTooltipOpen(false);
66-
setTimeout(() => setCopyTooltipContent('Copy'), 150);
67-
}, 2000);
71+
resetCopyTooltip();
6872

6973
track('markdown_copy_link_clicked', {
7074
location: location.pathname,
7175
});
7276
} catch (error) {
7377
console.error('Failed to copy markdown:', error);
7478
setCopyTooltipContent('Error!');
75-
setCopyTooltipOpen(true);
76-
setTimeout(() => {
77-
setCopyTooltipOpen(false);
78-
setTimeout(() => setCopyTooltipContent('Copy'), 150);
79-
}, 2000);
79+
resetCopyTooltip();
8080
}
81-
}, [location.pathname]);
81+
};
8282

8383
return (
8484
<div className="my-8 border-b border-neutral-300 dark:border-neutral-1000 pb-8">

0 commit comments

Comments
 (0)