src/app/components/MediaLoader/utils/getCaptionBlock.ts

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
import filterForBlockType from '#app/lib/utilities/blockHandlers';
import { PageTypes } from '#app/models/types/global';
import { CaptionBlock, MediaBlock } from '../types';

export default function getCaptionBlock(
  blocks: MediaBlock[],
  pageType: PageTypes,
): CaptionBlock | null {
  if (pageType === 'live') {
    return filterForBlockType(blocks, 'caption');
  }

  const aresMediaBlock = filterForBlockType(blocks, 'aresMedia');

  const articleCaptionBlock = filterForBlockType(blocks, 'caption');
  const cpsCaptionBlock = filterForBlockType(
    aresMediaBlock?.model?.blocks,
    'caption',
  );

  return articleCaptionBlock || cpsCaptionBlock;
}