import React from 'react' import { MediaItem } from '../api/jellyfin' import { usePreviewContext } from '../context/PreviewContext/PreviewContext' import './PreviewButton.css' interface PreviewButtonProps { track: MediaItem size?: 'small' | 'medium' className?: string } export const PreviewButton: React.FC = ({ track, size = 'small', className = '' }) => { // Don't render anything if no preview URL available if (!track.SpotifyPreviewUrl) { return null } // Check if we're in a browser environment (SSR safety) if (typeof window === 'undefined') { return null } const { isPreviewPlaying, currentPreviewTrack, togglePreview } = usePreviewContext() const isCurrentTrackPlaying = isPreviewPlaying && currentPreviewTrack?.Id === track.Id const handleClick = (e: React.MouseEvent) => { e.preventDefault() e.stopPropagation() // Prevent triggering parent click handlers togglePreview(track) } return ( ) }