type MediaPreviewReference = { storageId: TStorageId; previewStorageId?: TStorageId; }; export function collectMediaStorageIdsForResolution( items: readonly MediaPreviewReference[], ): TStorageId[] { const ordered = new Set(); for (const item of items) { const preferredId = item.previewStorageId ?? item.storageId; if (preferredId) { ordered.add(preferredId); } if (item.storageId) { ordered.add(item.storageId); } } return [...ordered]; } export function resolveMediaPreviewUrl( item: MediaPreviewReference, urlMap: Record, ): string | undefined { if (item.previewStorageId) { const previewUrl = urlMap[item.previewStorageId]; if (previewUrl) { return previewUrl; } } return urlMap[item.storageId]; }