import { Layers } from 'lucide-react' import { Link } from 'react-router-dom' import type { Media } from '../types' import { mediaVersionLabel, mediaVersionsOf } from '../utils/mediaVersion' type MediaVersionSwitcherProps = { media: Media /** 详情页:用 Link 跳转播放;播放页:回调切换 */ mode?: 'detail' | 'player' onSelect?: (version: Media) => void className?: string } export function MediaVersionSwitcher({ media, mode = 'detail', onSelect, className = '', }: MediaVersionSwitcherProps) { const versions = mediaVersionsOf(media) if (versions.length <= 1) return null const dark = mode === 'player' return (
版本({versions.length})
{versions.map((version) => { const active = version.id === media.id const label = mediaVersionLabel(version) const className = dark ? active ? 'border-white/40 bg-white/20 text-white' : 'border-white/15 bg-white/5 text-white/80 hover:bg-white/15' : active ? 'border-brand-500/40 bg-brand-50 text-[#b07d35]' : 'border-gray-200 bg-white text-ink-100 hover:border-brand-500/30 hover:bg-brand-50/40' if (mode === 'player') { return ( ) } return ( {label} {active ? ' · 当前' : ''} ) })}
) }