import type { MediaItem } from '../../../../../packages/api-contracts/src/index.js'; import { mediaConversation, mediaType } from './filters.js'; interface MediaCardProps { item: MediaItem; isRevealed: boolean; onToggleReveal(): void; } function formatMediaDate(timestamp: number): string { return new Intl.DateTimeFormat(undefined, { dateStyle: 'medium', timeStyle: 'short' }).format(timestamp); } export function MediaCard({ item, isRevealed, onToggleReveal }: MediaCardProps) { return (
{`Media {!isRevealed ? Private media hidden : null}
{item.sender} {mediaConversation(item)}
Type
{mediaType(item) === 'gif' ? 'GIF' : 'Image'}
Received
{formatMediaDate(item.timestamp)}
); }