fix(site): include HLS CDN script in installation builder (#907)

This commit is contained in:
rahim
2026-03-11 19:27:05 -07:00
committed by GitHub
parent b676517993
commit 6a69779946
3 changed files with 62 additions and 27 deletions
@@ -1,35 +1,12 @@
import { useStore } from '@nanostores/react';
import ClientCode from '@/components/Code/ClientCode';
import type { Skin, UseCase } from '@/stores/installation';
import { skin, useCase } from '@/stores/installation';
const CDN_BASE = 'https://cdn.jsdelivr.net/npm/@videojs/html/cdn';
function getCdnFileName(useCase: UseCase, skin: Skin): string {
if (useCase === 'background-video') return 'background';
if (skin === 'minimal-video') return 'video-minimal';
if (skin === 'minimal-audio') return 'audio-minimal';
return skin;
}
function generateCdnCode(useCase: UseCase, skin: Skin): string {
if (useCase === 'background-video') {
return `<script type="module">
import '${CDN_BASE}/background/player.js';
import '${CDN_BASE}/background/skin.js';
</script>
<link rel="stylesheet" href="${CDN_BASE}/background/skin.css" />`;
}
const name = getCdnFileName(useCase, skin);
return `<script type="module" src="${CDN_BASE}/${name}.js"></script>
<link rel="stylesheet" href="${CDN_BASE}/${name}.css" />`;
}
import { renderer, skin, useCase } from '@/stores/installation';
import { generateCdnCode } from '@/utils/installation/cdn-code';
export default function HTMLCdnCodeBlock() {
const $useCase = useStore(useCase);
const $skin = useStore(skin);
const $renderer = useStore(renderer);
return <ClientCode code={generateCdnCode($useCase, $skin)} lang="html" />;
return <ClientCode code={generateCdnCode($useCase, $skin, $renderer)} lang="html" />;
}