'use client' import type { EntityVersionWithAuthor } from '@admin/actions/entity-versions' import { EntityVersionsButton } from '@admin/components/shared/entity-versions/entity-versions-button' import { Badge } from '@admin/components/ui/badge' import { Separator } from '@admin/components/ui/separator' import { format } from 'date-fns' interface EntityMetadataData { id: string | null createdAt: Date | string updatedAt: Date | string createdByUser?: { id: string name: string email: string } | null updatedByUser?: { id: string name: string email: string } | null published?: boolean | null } interface EntityMetadataProps { data: EntityMetadataData entityType: string entityId: string | null getVersionsAction: (entityId: string) => Promise restoreVersionAction: (versionId: string) => Promise } export function EntityMetadata({ data, entityType, entityId, getVersionsAction, restoreVersionAction }: EntityMetadataProps) { const updated = new Date(data.updatedAt) const created = new Date(data.createdAt) const fullFmt = 'PPpp' const createdBy = data.createdByUser?.name || data.createdByUser?.email || 'System' const updatedBy = data.updatedByUser?.name || data.updatedByUser?.email || 'System' const status = typeof data.published === 'boolean' ? (data.published ? 'Published' : 'Draft') : null return (
ID {data.id}
Created by {createdBy} on {format(created, fullFmt)}
Last edited by {updatedBy} on {format(updated, fullFmt)}
{status ? ( {status} ) : null}
{entityId ? ( ) : null}
) }