56 lines
1.5 KiB
JavaScript
56 lines
1.5 KiB
JavaScript
const BRANDS = {
|
|
zh: {
|
|
ariaLabel: "智能星球计划品牌标识",
|
|
titleAlt: "智能星球计划",
|
|
titleSrc: "assets/brand/title-zh.png",
|
|
subtitle: "现实层宇宙全息感知系统",
|
|
description: "卫星 · 海底光缆 · 算力基础设施",
|
|
},
|
|
en: {
|
|
ariaLabel: "Intelligent Planet Program brand banner",
|
|
titleAlt: "Intelligent Planet Program",
|
|
titleSrc: "assets/brand/title-en.png",
|
|
subtitle: "Physical-Universe Holography",
|
|
description: "Satellites · Cables · Compute Infra",
|
|
},
|
|
};
|
|
|
|
function getBrandConfig(variant = "zh") {
|
|
return BRANDS[variant] ?? BRANDS.zh;
|
|
}
|
|
|
|
export function renderBrand(variant = "zh") {
|
|
const config = getBrandConfig(variant);
|
|
|
|
return `
|
|
<div class="earth-brand earth-brand--${variant}" aria-label="${config.ariaLabel}">
|
|
<img
|
|
class="earth-brand__logo"
|
|
src="assets/brand/earth-logo.png"
|
|
alt=""
|
|
aria-hidden="true"
|
|
>
|
|
<div class="earth-brand__copy">
|
|
<img
|
|
class="earth-brand__title"
|
|
src="${config.titleSrc}"
|
|
alt="${config.titleAlt}"
|
|
>
|
|
<div class="earth-brand__meta">
|
|
<span class="earth-brand__subtitle">${config.subtitle}</span>
|
|
<span class="earth-brand__description">${config.description}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
`.trim();
|
|
}
|
|
|
|
export function mountBrand(target, variant = "zh") {
|
|
if (!target) return;
|
|
target.innerHTML = renderBrand(variant);
|
|
}
|
|
|
|
export function getBrandVariants() {
|
|
return Object.keys(BRANDS);
|
|
}
|