'use client'; import React from 'react'; import Image from 'next/image'; import { Tooltip, TooltipContent, TooltipTrigger, } from '@/components/ui/Tooltip'; import { MediaDetails } from '@/lib/fetch'; import { useAtom } from 'jotai'; import { selectedMediaIdAtom } from '@/state/media'; import { cn } from '@/lib/utils'; export interface MediaTileProps { media: MediaDetails; } export default function MediaTile({ media }: MediaTileProps) { const { url, thumbnails, id, name, properties: { width, height }, } = media; const [selectedMediaId, setSelectedMediaId] = useAtom(selectedMediaIdAtom); const selected = selectedMediaId === id; // const imageSrc = thumbnails.length ? thumbnails[thumbnails.length - 1] : url; const imageSrc = url; return ( dataset images setSelectedMediaId(id)} className={cn( 'w-full h-auto relative rounded-xl overflow-hidden shadow-md cursor-pointer transition-transform hover:scale-105 box-content', selected && 'border-2 border-primary', )} />

{name}

{`${width} x ${height}`}

); }