Fixed element event tracking
All checks were successful
Next.js App CI / docker (push) Successful in 4m37s

This commit is contained in:
2025-10-17 19:56:30 +02:00
parent f2991a6b49
commit e3671ca7e2

View File

@@ -53,6 +53,9 @@ export function PublicationCard({
.then(() => { .then(() => {
setCopyStatus("success"); setCopyStatus("success");
setTimeout(() => setCopyStatus("idle"), 2000); setTimeout(() => setCopyStatus("idle"), 2000);
if (window.umami) {
window.umami.track(`${bibtexKey}-bibtex-copy`);
}
}) })
.catch((err) => { .catch((err) => {
console.error("Failed to copy BibTeX:", err); console.error("Failed to copy BibTeX:", err);
@@ -75,6 +78,18 @@ export function PublicationCard({
a.click(); a.click();
document.body.removeChild(a); document.body.removeChild(a);
URL.revokeObjectURL(url); // Clean up immediately URL.revokeObjectURL(url); // Clean up immediately
if (window.umami) {
window.umami.track(`${bibtexKey}-bibfile-download`);
}
};
const handlePDF = () => {
if (pdfUrl) {
if (window.umami) {
window.umami.track(`${bibtexKey}-pdf-open`);
}
window.open(pdfUrl, "_blank", "noopener,noreferrer");
}
}; };
const handleCardClick = () => { const handleCardClick = () => {
@@ -137,14 +152,13 @@ export function PublicationCard({
<div className="z-10 flex flex-shrink-0 flex-col space-y-1"> <div className="z-10 flex flex-shrink-0 flex-col space-y-1">
<Tooltip> <Tooltip>
<TooltipTrigger asChild> <TooltipTrigger asChild>
<TrackedButton <Button
variant={buttonStyle} variant={buttonStyle}
size={buttonSize} size={buttonSize}
className="h-7 w-7 cursor-pointer px-2 hover:border" className="h-7 w-7 cursor-pointer px-2 hover:border"
onClick={handleDownload} onClick={handleDownload}>
eventName={`${bibtexKey}-bibfile`}>
<FileText className="h-4 w-4" /> <FileText className="h-4 w-4" />
</TrackedButton> </Button>
</TooltipTrigger> </TooltipTrigger>
<TooltipContent> <TooltipContent>
<p>Download BibTeX</p> <p>Download BibTeX</p>
@@ -153,18 +167,17 @@ export function PublicationCard({
<Tooltip> <Tooltip>
<TooltipTrigger asChild> <TooltipTrigger asChild>
<TrackedButton <Button
variant={buttonStyle} variant={buttonStyle}
size={buttonSize} size={buttonSize}
className="relative h-7 w-7 cursor-pointer px-2 hover:border" className="relative h-7 w-7 cursor-pointer px-2 hover:border"
onClick={handleCopy} onClick={handleCopy}>
eventName={`${bibtexKey}-copycite`}>
{copyStatus === "idle" && <Copy className="h-4 w-4" />} {copyStatus === "idle" && <Copy className="h-4 w-4" />}
{copyStatus === "success" && ( {copyStatus === "success" && (
<Check className="h-4 w-4 text-green-500" /> <Check className="h-4 w-4 text-green-500" />
)} )}
{copyStatus === "error" && <X className="h-4 w-4 text-red-500" />} {copyStatus === "error" && <X className="h-4 w-4 text-red-500" />}
</TrackedButton> </Button>
</TooltipTrigger> </TooltipTrigger>
<TooltipContent> <TooltipContent>
<p>Copy Citation</p> <p>Copy Citation</p>
@@ -178,15 +191,8 @@ export function PublicationCard({
variant={buttonStyle} variant={buttonStyle}
size={buttonSize} size={buttonSize}
className="h-7 w-7 px-2 hover:border" className="h-7 w-7 px-2 hover:border"
onClick={(e) => e.stopPropagation()} onClick={handlePDF}>
asChild> <BookOpen className="h-4 w-4" />
<TrackedLink
href={pdfUrl}
target="_blank"
eventName={`${bibtexKey}-pdf`}
rel="noopener noreferrer">
<BookOpen className="h-4 w-4" />
</TrackedLink>
</Button> </Button>
</TooltipTrigger> </TooltipTrigger>
<TooltipContent> <TooltipContent>