import React from 'react' import StatusBadge from '../Badges/StatusBadge' import RisingBadge from '../Badges/RisingBadge' import Checkbox from '../ui/Checkbox' function getStatus(art) { if (art.deleted_at) return 'archived' if (!art.is_public) return 'draft' return 'published' } function statItem(icon, value) { return ( {icon} {typeof value === 'number' ? value.toLocaleString() : value} ) } export default function StudioGridCard({ artwork, selected, onSelect, onAction }) { const status = getStatus(artwork) return (
{/* Selection checkbox */}
onSelect(artwork.id)} aria-label={`Select ${artwork.title}`} />
{/* Thumbnail */}
{artwork.title} {/* Hover actions */}
window.open(`/artworks/${artwork.slug}`, '_blank')} /> onAction('edit', artwork)} /> {status !== 'archived' ? ( onAction('archive', artwork)} /> ) : ( onAction('unarchive', artwork)} /> )} onAction('delete', artwork)} danger />
{/* Info */}

{artwork.title}

{statItem('👁', artwork.views)} {statItem('❤️', artwork.favourites)} {statItem('🔗', artwork.shares)} {statItem('💬', artwork.comments)} {statItem('⬇', artwork.downloads)}
) } function ActionBtn({ icon, title, onClick, danger }) { return ( ) }