import { useStore } from '@nanostores/react';
import { Tab, TabsList, TabsPanel, TabsRoot } from '@/components/Tabs';
import type { Skin } from '@/stores/homePageDemos';
import { framework, skin } from '@/stores/homePageDemos';
import ClientCode from '../Code/ClientCode';
function generateHTMLCode(skin: Skin): string {
const skinTag = skin === 'frosted' ? 'video-skin' : 'video-minimal-skin';
const skinFile = skin === 'frosted' ? 'skin' : 'minimal-skin';
return `
<${skinTag}>
${skinTag}>
`;
}
function generateReactCode(skin: Skin): string {
const skinComponent = skin === 'frosted' ? 'VideoSkin' : 'MinimalVideoSkin';
const skinCss = skin === 'frosted' ? 'skin' : 'minimal-skin';
return `import { createPlayer, Poster } from '@videojs/react';
import { ${skinComponent}, Video, videoFeatures } from '@videojs/react/video';
import '@videojs/react/video/${skinCss}.css';
const Player = createPlayer({ features: [...videoFeatures] });
export function VideoPlayer() {
return (
<${skinComponent}>
${skinComponent}>
);
}`;
}
export default function BaseDemo({ className }: { className?: string }) {
const $framework = useStore(framework);
const $skin = useStore(skin);
if ($framework === 'html') {
return (
HTML
);
}
return (
React
);
}