Skip to content

Commit b552fb6

Browse files
Bikram GoleBikram Gole
authored andcommitted
Improve browser compatibility for terminal, pulse, and penguin contrast
1 parent 662e2bb commit b552fb6

2 files changed

Lines changed: 45 additions & 3 deletions

File tree

script.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -527,7 +527,29 @@ function triggerPenguinPowerUp() {
527527
window.setTimeout(() => penguinAvatar.classList.remove("power-up"), 620);
528528
}
529529

530+
function initRuntimeCompatibility() {
531+
const apply = () => {
532+
const ua = navigator.userAgent || "";
533+
const isFirefoxLike = ua.includes("Firefox") || ua.includes("LibreWolf");
534+
const isSmallViewport = window.matchMedia?.("(max-width: 820px)")?.matches || false;
535+
const isCoarsePointer = window.matchMedia?.("(pointer: coarse)")?.matches || false;
536+
const forceTerminalFallback = isSmallViewport || isCoarsePointer;
537+
538+
document.body.classList.toggle("browser-firefox", isFirefoxLike);
539+
document.body.classList.toggle("browser-not-firefox", !isFirefoxLike);
540+
document.body.classList.toggle("force-terminal-fallback", forceTerminalFallback);
541+
};
542+
543+
apply();
544+
window.addEventListener("resize", apply);
545+
}
546+
530547
function applyTerminalFontFallbackMode() {
548+
if (document.body.classList.contains("force-terminal-fallback")) {
549+
document.body.classList.add("no-nerd-font");
550+
return;
551+
}
552+
531553
const hasNerdFont = NERD_FONT_FAMILIES.some((family) => {
532554
if (!window?.document?.fonts?.check) return false;
533555
return window.document.fonts.check(`12px "${family}"`);
@@ -1568,6 +1590,7 @@ initPenguinDateBadge();
15681590
initThemeSwitcher();
15691591
initHeroTypewriters();
15701592
initBlackflagGunfire();
1593+
initRuntimeCompatibility();
15711594
initTerminalFontFallbackMode();
15721595
initMiniTerminal();
15731596
initCommandPalette();

styles.css

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1111,15 +1111,21 @@ kbd {
11111111
body.no-nerd-font .omp-row,
11121112
body.no-nerd-font .mini-terminal-line,
11131113
body.no-nerd-font .mini-terminal-form label,
1114-
body.no-nerd-font .mini-terminal-form input {
1114+
body.no-nerd-font .mini-terminal-form input,
1115+
body.force-terminal-fallback .omp-row,
1116+
body.force-terminal-fallback .mini-terminal-line,
1117+
body.force-terminal-fallback .mini-terminal-form label,
1118+
body.force-terminal-fallback .mini-terminal-form input {
11151119
font-family: "JetBrains Mono", "Fira Mono", "Menlo", "Consolas", "Courier New", monospace;
11161120
}
11171121

1118-
body.no-nerd-font .omp-nerd {
1122+
body.no-nerd-font .omp-nerd,
1123+
body.force-terminal-fallback .omp-nerd {
11191124
display: none;
11201125
}
11211126

1122-
body.no-nerd-font .omp-fallback {
1127+
body.no-nerd-font .omp-fallback,
1128+
body.force-terminal-fallback .omp-fallback {
11231129
display: inline;
11241130
}
11251131

@@ -1507,6 +1513,10 @@ body.no-nerd-font .omp-fallback {
15071513
filter: drop-shadow(0 10px 18px rgba(24, 58, 112, 0.38));
15081514
}
15091515

1516+
body.browser-not-firefox .penguin-avatar {
1517+
filter: drop-shadow(0 10px 18px rgba(24, 58, 112, 0.38)) brightness(1.12) saturate(1.06);
1518+
}
1519+
15101520
.penguin-avatar::before {
15111521
content: "";
15121522
position: absolute;
@@ -2291,6 +2301,15 @@ body[data-theme="liquidglass"] .site-footer {
22912301
filter: blur(1px) saturate(132%);
22922302
}
22932303

2304+
body.browser-firefox .pulse-wave {
2305+
mix-blend-mode: normal;
2306+
filter: none;
2307+
background:
2308+
radial-gradient(140px 140px at var(--pulse-x, 50%) var(--pulse-y, 35%), rgba(164, 218, 255, 0.85), transparent 66%),
2309+
radial-gradient(360px 260px at calc(var(--pulse-x, 50%) + 8%) calc(var(--pulse-y, 35%) - 8%), rgba(255, 162, 85, 0.34), transparent 72%),
2310+
radial-gradient(620px 440px at var(--pulse-x, 50%) var(--pulse-y, 35%), rgba(71, 139, 255, 0.28), transparent 78%);
2311+
}
2312+
22942313
.pulse-wave::after {
22952314
content: "";
22962315
position: absolute;

0 commit comments

Comments
 (0)