'use client'; interface LoadingSpinnerProps { size?: 'small' | 'medium' | 'large'; fullScreen?: boolean; text?: string; color?: 'primary' | 'white'; } const sizeMap = { small: { spinner: 24, border: 2 }, medium: { spinner: 36, border: 3 }, large: { spinner: 48, border: 4 }, }; export default function LoadingSpinner({ size = 'medium', fullScreen = false, text, color = 'primary' }: LoadingSpinnerProps) { const { spinner, border } = sizeMap[size]; const spinnerColor = color === 'white' ? '#fff' : 'var(--yt-text-primary)'; const borderColor = color === 'white' ? 'rgba(255,255,255,0.2)' : 'var(--yt-border)'; const content = (
{text && ( {text} )}
); if (fullScreen) { return (
{content}
); } return content; }