fix(landing): fetch launcher downloads from live launcher.json on load
The build-time download buttons baked stale/placeholder URLs (the host has no synced launcher.json, so the build fell back to launcher.example.json). Render a skeleton at build time instead and fetch the live launcher.json client-side once on page load (no polling) from https://distribution.${BASE_DOMAIN}/launcher/launcher.json, building per-OS buttons from files[]. On fetch error the skeleton clears. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -207,6 +207,26 @@ section { position: relative; z-index: 1; }
|
||||
}
|
||||
.mc-btn.sm { font-size: 14px; padding: 10px 16px 12px; }
|
||||
|
||||
/* Launcher download skeleton (placeholder while launcher.json loads). */
|
||||
.dl-skeleton {
|
||||
min-width: 9.5rem;
|
||||
color: transparent;
|
||||
pointer-events: none;
|
||||
background-image: linear-gradient(
|
||||
90deg,
|
||||
oklch(1 0 0 / 0.04),
|
||||
oklch(1 0 0 / 0.14),
|
||||
oklch(1 0 0 / 0.04)
|
||||
);
|
||||
background-size: 200% 100%;
|
||||
animation: dl-shimmer 1.2s linear infinite;
|
||||
}
|
||||
.dl-skeleton::after { content: "\00a0"; } /* keep height when text is empty */
|
||||
@keyframes dl-shimmer {
|
||||
from { background-position: 200% 0; }
|
||||
to { background-position: -200% 0; }
|
||||
}
|
||||
|
||||
/* ---- Copy-IP chip ---- */
|
||||
.ip-chip {
|
||||
display: inline-flex;
|
||||
|
||||
Reference in New Issue
Block a user