--- import { site, LITERALS, HEAD_FONTS } from "../../data/site"; import { ui, LANGS, LANG_LABEL, LANG_PATH, LANG_FJORD_PATH, LANG_REGISTER_PATH, LANG_ACCOUNT_PATH, type Lang, } from "../../i18n/ui"; import CopyChip from "../../components/CopyChip.astro"; import "../../styles/main.css"; // One static Fjord page per locale: /fjord, /es/fjord, /eu/fjord. This is the // alternative manual path — intentionally NOT linked from the homepage nav. export function getStaticPaths() { return [ { params: { lang: undefined }, props: { locale: "es" as Lang } }, { params: { lang: "en" }, props: { locale: "en" as Lang } }, { params: { lang: "eu" }, props: { locale: "eu" as Lang } }, ]; } const { locale } = Astro.props; const t = ui[locale]; const f = t.fjord; const { theme, fjord } = site; const headFont = HEAD_FONTS[theme.headFont] ?? HEAD_FONTS.pixelify; const homePath = LANG_PATH[locale]; const registerPath = LANG_REGISTER_PATH[locale]; const accountPath = LANG_ACCOUNT_PATH[locale]; const fjordPack = site.launcherManifest.fjordPack; --- {site.name} — {f.title} {LANGS.map((l) => )}
{f.eyebrow}

{f.title}

{f.lead}

1
{f.s1.kicker}

{f.s1.h}

{f.s1.p}

{fjord.downloads.map((d) => ( {d.os} · {d.hint} ))}
2
{f.s2.kicker}

{f.s2.h}

{f.s2.pa} {LITERALS.authlib} {f.s2.pb}

3
{f.s3.kicker}

{f.s3.h}

{f.s3.p}

{fjordPack ? ( {fjordPack.filename} · .mrpack ) : (

{f.noPack}

)}
4
{f.s4.kicker}

{f.s4.h}

{f.s4.pa} {LITERALS.multiplayer} → {LITERALS.addServer}{f.s4.pb}