import { CheckIcon, FilmIcon, HeartIcon } from "@workspace/ui/components/icon" import { useTranslate } from "@workspace/i18n" import { cn } from "@workspace/ui/lib/utils" import { mediaMessages } from "./messages" import type { MediaAsset } from "./types" export interface MediaGridProps { activeId?: MediaAsset["id"] assets: readonly MediaAsset[] resolveUrl: (asset: MediaAsset) => string selectedIds: ReadonlySet onActivate: (asset: MediaAsset) => void onDetails: (asset: MediaAsset) => void onToggle?: (asset: MediaAsset) => void } export function MediaGrid({ activeId, assets, resolveUrl, selectedIds, onActivate, onDetails, onToggle, }: MediaGridProps) { const t = useTranslate() return (
{assets.map((asset) => { const selected = selectedIds.has(asset.id) const active = activeId === asset.id return ( ) })}
) }