mirror of
https://github.com/imgfloat/server.git
synced 2026-02-05 11:49:25 +00:00
41 lines
1.3 KiB
JavaScript
41 lines
1.3 KiB
JavaScript
function detectPlatform() {
|
|
const navigatorPlatform = (navigator.userAgentData?.platform || navigator.platform || "").toLowerCase();
|
|
const userAgent = (navigator.userAgent || "").toLowerCase();
|
|
const platformString = `${navigatorPlatform} ${userAgent}`;
|
|
|
|
if (platformString.includes("mac") || platformString.includes("darwin")) {
|
|
return "mac";
|
|
}
|
|
if (platformString.includes("win")) {
|
|
return "windows";
|
|
}
|
|
if (platformString.includes("linux")) {
|
|
return "linux";
|
|
}
|
|
return null;
|
|
}
|
|
|
|
function markRecommendedDownload(section) {
|
|
const cards = Array.from(section.querySelectorAll(".download-card"));
|
|
if (!cards.length) {
|
|
return;
|
|
}
|
|
|
|
const platform = detectPlatform();
|
|
const preferredCard = cards.find((card) => card.dataset.platform === platform) || cards[0];
|
|
|
|
cards.forEach((card) => {
|
|
const isPreferred = card === preferredCard;
|
|
card.classList.toggle("download-card--active", isPreferred);
|
|
const badge = card.querySelector(".recommended-badge");
|
|
if (badge) {
|
|
badge.classList.toggle("hidden", !isPreferred);
|
|
}
|
|
});
|
|
}
|
|
|
|
document.addEventListener("DOMContentLoaded", () => {
|
|
const downloadSections = document.querySelectorAll(".download-section, .download-card-block");
|
|
downloadSections.forEach(markRecommendedDownload);
|
|
});
|