adding linted files and nvmrc -- will trigger precommit failures

Signed-off-by: Francisco Javier Arceo <farceo@redhat.com>
This commit is contained in:
Francisco Javier Arceo 2025-08-14 15:51:11 -04:00
parent ca80ab3b9e
commit 3f87db2eea
65 changed files with 1307 additions and 1137 deletions

View file

@ -1,36 +1,36 @@
import { useCallback, useRef, useState } from "react"
import { toast } from "sonner"
import { useCallback, useRef, useState } from "react";
import { toast } from "sonner";
type UseCopyToClipboardProps = {
text: string
copyMessage?: string
}
text: string;
copyMessage?: string;
};
export function useCopyToClipboard({
text,
copyMessage = "Copied to clipboard!",
}: UseCopyToClipboardProps) {
const [isCopied, setIsCopied] = useState(false)
const timeoutRef = useRef<NodeJS.Timeout | null>(null)
const [isCopied, setIsCopied] = useState(false);
const timeoutRef = useRef<NodeJS.Timeout | null>(null);
const handleCopy = useCallback(() => {
navigator.clipboard
.writeText(text)
.then(() => {
toast.success(copyMessage)
setIsCopied(true)
toast.success(copyMessage);
setIsCopied(true);
if (timeoutRef.current) {
clearTimeout(timeoutRef.current)
timeoutRef.current = null
clearTimeout(timeoutRef.current);
timeoutRef.current = null;
}
timeoutRef.current = setTimeout(() => {
setIsCopied(false)
}, 2000)
setIsCopied(false);
}, 2000);
})
.catch(() => {
toast.error("Failed to copy to clipboard.")
})
}, [text, copyMessage])
toast.error("Failed to copy to clipboard.");
});
}, [text, copyMessage]);
return { isCopied, handleCopy }
return { isCopied, handleCopy };
}