Skip to content

Commit

Permalink
Comment fixes
Browse files Browse the repository at this point in the history
- Add title to placeholder config
- Add 'kind' to playlist items
  • Loading branch information
amoore108 committed Oct 3, 2024
1 parent b6e8b86 commit 7c8fb79
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 19 deletions.
8 changes: 6 additions & 2 deletions src/app/components/MediaLoader/configs/legacyMedia.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { MediaOverrides } from '#app/models/types/media';
import filterForBlockType from '#lib/utilities/blockHandlers';
import {
LegacyMediaBlock,
Expand All @@ -14,6 +15,9 @@ export default ({
const legacyMediaBlock: LegacyMediaBlock =
filterForBlockType(blocks, 'legacyMedia') ?? {};

const { model: mediaOverrides }: MediaOverrides =
filterForBlockType(blocks, 'mediaOverrides') || {};

const { image, format, playlist } = legacyMediaBlock?.content ?? {};

const placeholderConfig = buildPlaceholderConfig({
Expand All @@ -25,14 +29,14 @@ export default ({

const mp4Items = playlist
?.filter(item => item.format === 'mp4')
?.map(item => ({ href: item.url }));
?.map(item => ({ href: item.url, kind: 'programme' }));

return {
mediaType: format || 'video',
playerConfig: {
...basePlayerConfig,
playlistObject: {
title: '',
title: mediaOverrides?.pageTitleOverride || '',
holdingImageURL: image?.href,
items: mp4Items,
},
Expand Down
1 change: 1 addition & 0 deletions src/app/components/MediaLoader/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ export type PlaylistItem = {

export type LegacyPlayListItem = {
href: string;
kind: string;
};

export type ConfigBuilderProps = {
Expand Down
20 changes: 16 additions & 4 deletions src/app/components/MediaLoader/utils/buildSettings.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -305,9 +305,18 @@ describe('buildSettings', () => {
});

it('Should process a LegacyMediaBlock into a valid playlist item for a "MAP" page', () => {
const legacyMediaOverrides = {
model: {
pageTitleOverride: 'Legacy Media Page Title',
},
type: 'mediaOverrides',
};

const result = buildSettings({
...baseSettings,
blocks: legacyMediaBlock as MediaBlock[],
service: 'arabic',
counterName: 'arabic.multimedia.2013.12.131208_iraq_blast_.page',
blocks: [legacyMediaBlock, legacyMediaOverrides] as MediaBlock[],
});

expect(result).toStrictEqual({
Expand All @@ -320,22 +329,25 @@ describe('buildSettings', () => {
producer: 'SERBIAN',
},
enableToucan: true,
appName: 'news-serbian',
appName: 'news-arabic',
appType: 'responsive',
counterName: 'live_coverage.testID.page',
counterName: 'arabic.multimedia.2013.12.131208_iraq_blast_.page',
playlistObject: {
title: '',
title: 'Legacy Media Page Title',
holdingImageURL:
'http://a.files.bbci.co.uk/worldservice/live/assets/images/2013/12/08/131208135805_iraq_blast_640x360_bbc_nocredit.jpg',
items: [
{
href: 'https://wsodprogrf.akamaized.net/arabic/dps/2013/12/iraqblast_16x9_lo.mp4',
kind: 'programme',
},
{
href: 'https://wsodprogrf.akamaized.net/arabic/dps/2013/12/iraqblast_16x9_med.mp4',
kind: 'programme',
},
{
href: 'https://wsodprogrf.akamaized.net/arabic/dps/2013/12/iraqblast_16x9_hi.mp4',
kind: 'programme',
},
],
},
Expand Down
6 changes: 3 additions & 3 deletions src/app/models/types/media.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,9 @@ export type LiveRadioBlock = {

export type MediaOverrides = {
model: {
language: string;
pageIdentifierOverride: string;
pageTitleOverride: string;
language?: string;
pageIdentifierOverride?: string;
pageTitleOverride?: string;
};
type: 'mediaOverrides';
};
28 changes: 18 additions & 10 deletions src/app/pages/MediaArticlePage/MediaArticlePage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import { ARTICLE_PAGE, MEDIA_ASSET_PAGE } from '#app/routes/utils/pageTypes';
import { Tag } from '#app/components/LinkedData/types';
import { Article, OptimoBylineBlock } from '#app/models/types/optimo';
import { RequestContext } from '#app/contexts/RequestContext';
import { MediaOverrides } from '#app/models/types/media';
import useToggle from '../../hooks/useToggle';
import {
getArticleId,
Expand Down Expand Up @@ -182,16 +183,23 @@ const MediaArticlePage = ({ pageData }: { pageData: Article }) => {
)}
</div>
),
legacyMedia: (props: ComponentToRenderProps) => (
<div
css={({ spacings }: Theme) => [
`padding-top: ${spacings.TRIPLE}rem`,
isCpsMap && styles.cafMediaPlayer,
]}
>
<MediaLoader blocks={[props] as unknown as MediaBlock[]} />
</div>
),
legacyMedia: (props: ComponentToRenderProps) => {
const mediaOverrides: MediaOverrides = {
model: { pageTitleOverride: headline },
type: 'mediaOverrides',
};

return (
<div
css={({ spacings }: Theme) => [
`padding-top: ${spacings.TRIPLE}rem`,
isCpsMap && styles.cafMediaPlayer,
]}
>
<MediaLoader blocks={[props, mediaOverrides] as MediaBlock[]} />
</div>
);
},
text,
byline: () =>
hasByline ? (
Expand Down

0 comments on commit 7c8fb79

Please sign in to comment.