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}> `; } 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}> ); }`; } export default function BaseDemo({ className }: { className?: string }) { const $framework = useStore(framework); const $skin = useStore(skin); if ($framework === 'html') { return ( HTML ); } return ( React ); }