Skip to content

Commit 01d047a

Browse files
test
1 parent 1d15df3 commit 01d047a

File tree

1 file changed

+20
-15
lines changed

1 file changed

+20
-15
lines changed

src/components/Card.tsx

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ const Card = ({
2828
}, [isSelected]);
2929

3030
const handleDownload = async (paper: Paper) => {
31+
3132
const extension = paper.finalUrl.split(".").pop();
3233
const fileName = `${extractBracketContent(paper.subject)}-${paper.exam}-${paper.slot}-${paper.year}.${extension}`;
3334
await downloadFile(paper.finalUrl, fileName);
@@ -39,16 +40,23 @@ const Card = ({
3940
}
4041

4142
async function downloadFile(url: string, filename: string) {
42-
try {
43-
const response = await axios.get(url, { responseType: "blob" });
44-
const blob = new Blob([response.data]);
45-
const link = document.createElement("a");
46-
link.href = window.URL.createObjectURL(blob);
47-
link.download = filename;
48-
link.click();
49-
window.URL.revokeObjectURL(link.href);
50-
} catch (error) {
51-
console.error("Error downloading file:", error);
43+
if (/Mobi|Android/i.test(navigator.userAgent)) {
44+
window.location.href = url;
45+
} else {
46+
try {
47+
const response = await axios.get(url, { responseType: "blob" });
48+
const blob = new Blob([response.data]);
49+
const link = document.createElement("a");
50+
link.href = window.URL.createObjectURL(blob);
51+
link.download = filename;
52+
53+
document.body.appendChild(link);
54+
link.click();
55+
document.body.removeChild(link);
56+
window.URL.revokeObjectURL(link.href);
57+
} catch (error) {
58+
console.error("Error downloading file:", error);
59+
}
5260
}
5361
}
5462

@@ -78,10 +86,7 @@ const Card = ({
7886
alt={paper.subject}
7987
width={320}
8088
height={180}
81-
onClick={(e) => {
82-
e.stopPropagation(); // Prevents any parent link click from being triggered
83-
handleOpen();
84-
}}
89+
onClick={handleOpen}
8590
className="mb-2 h-[180px] w-full cursor-pointer object-cover"
8691
/>
8792
</Link>
@@ -97,7 +102,7 @@ const Card = ({
97102
{capsule(paper.slot)}
98103
{capsule(paper.year)}
99104
</div>
100-
<div className="hidden items-center justify-between gap-2 md:flex">
105+
<div className="hidden md:flex items-center justify-between gap-2">
101106
<div className="flex items-center gap-1">
102107
<input
103108
checked={checked}

0 commit comments

Comments
 (0)