Skip to content

Commit f26e42d

Browse files
test
1 parent 0f2af5e commit f26e42d

File tree

3 files changed

+41
-19
lines changed

3 files changed

+41
-19
lines changed

src/components/Card.tsx

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -52,42 +52,39 @@ const Card = ({
5252
}
5353
}
5454

55-
function handleOpen(event: React.MouseEvent) {
56-
event.stopPropagation();
57-
58-
const storedPapers = JSON.parse(localStorage.getItem("clickedPapers") ?? "[]");
59-
const paperExists = storedPapers.some((storedPaper: Paper) => storedPaper._id === paper._id);
60-
55+
function handleOpen() {
56+
const storedPapers = JSON.parse(
57+
localStorage.getItem("clickedPapers") ?? "[]",
58+
);
59+
const paperExists = storedPapers.some(
60+
(storedPaper: Paper) => storedPaper._id === paper._id,
61+
);
6162
if (!paperExists) {
6263
const updatedPapers = [paper, ...storedPapers];
6364
const lastThreePapers = updatedPapers.slice(0, 4);
6465
localStorage.setItem("clickedPapers", JSON.stringify(lastThreePapers));
6566
}
66-
67-
const link = document.createElement("a");
68-
link.href = paper.finalUrl;
69-
link.target = "_blank";
70-
link.rel = "noopener noreferrer";
71-
document.body.appendChild(link);
72-
link.click();
73-
document.body.removeChild(link);
67+
window.open(paper.finalUrl, "_blank");
7468
}
75-
7669

7770
return (
7871
<div
7972
key={paper._id}
8073
className={`w-56 space-y-1 rounded-xl border border-black dark:border-[#7480FF]/25 ${checked ? "bg-[#EEF2FF] dark:bg-[#050b1f]" : ""} p-4 `}
8174
>
82-
<button onClick={handleOpen} className="w-full">
75+
<Link
76+
href={paper.finalUrl}
77+
target="_blank"
78+
rel="noopener noreferrer"
79+
>
8380
<Image
8481
src={paper.thumbnailUrl}
8582
alt={paper.subject}
8683
width={320}
8784
height={180}
8885
className="mb-2 h-[180px] w-full cursor-pointer object-cover"
8986
/>
90-
</button>
87+
</Link>
9188

9289
<div className="text-sm font-medium">
9390
{extractBracketContent(paper.subject)}

src/components/PreviewCard.tsx

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,31 @@ import { capsule } from "@/util/utils";
88
import Link from "next/link";
99

1010
const PreviewCard = ({ paper }: { paper: Paper }) => {
11+
12+
function handleOpen(event: React.MouseEvent) {
13+
event.stopPropagation();
14+
const link = document.createElement("a");
15+
link.href = paper.finalUrl;
16+
link.target = "_blank";
17+
link.rel = "noopener noreferrer";
18+
document.body.appendChild(link);
19+
link.click();
20+
document.body.removeChild(link);
21+
}
1122
return (
1223
<div
1324
key={paper._id}
1425
className="w-56 space-y-1 rounded-xl border border-black border-opacity-50 p-4 dark:border-[#7480FF]/25"
1526
>
16-
<Link href={paper.finalUrl} target="_blank" rel="noopener noreferrer">
27+
<button onClick={handleOpen} className="w-full">
1728
<Image
1829
src={paper.thumbnailUrl}
1930
alt={paper.subject}
2031
width={180}
2132
height={180}
2233
className="mb-2 h-[150px] w-full object-cover"
2334
/>
24-
</Link>
35+
</button>
2536
<div className="text-sm font-medium">
2637
{extractBracketContent(paper.subject)}
2738
</div>

vercel.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"headers": [
3+
{
4+
"source": "/(.*)",
5+
"headers": [
6+
{
7+
"key": "Content-Security-Policy",
8+
"value": "default-src 'self'; img-src 'self' http://res.cloudinary.com https://res.cloudinary.com; media-src 'self' http://res.cloudinary.com https://res.cloudinary.com; frame-src 'self';"
9+
}
10+
]
11+
}
12+
]
13+
}
14+

0 commit comments

Comments
 (0)