@@ -29,7 +29,7 @@ import { Island } from '../components/Island';
2929import { ItemLinkBlockElement } from '../components/ItemLinkBlockElement' ;
3030import { KeyTakeaways } from '../components/KeyTakeaways' ;
3131import { KnowledgeQuizAtom } from '../components/KnowledgeQuizAtom.importable' ;
32- import { LoopVideoInArticle } from '../components/LoopVideoInArticle ' ;
32+ import { SelfHostedVideoInArticle } from '../components/SelfHostedVideoInArticle ' ;
3333import { MainMediaEmbedBlockComponent } from '../components/MainMediaEmbedBlockComponent' ;
3434import { MapEmbedBlockComponent } from '../components/MapEmbedBlockComponent.importable' ;
3535import { MiniProfiles } from '../components/MiniProfiles' ;
@@ -493,22 +493,16 @@ export const renderElement = ({
493493 </ Island >
494494 ) ;
495495 case 'model.dotcomrendering.pageElements.MediaAtomBlockElement' :
496- /*
497- - MediaAtomBlockElement is used for self-hosted videos
498- - Historically, these videos have been self-hosted for legal or sensitive reasons
499- - These videos play in the `VideoAtom` component
500- - Looping videos, introduced in July 2025, are also self-hosted
501- - Thus they are delivered as a MediaAtomBlockElement
502- - However they need to display in a different video player
503- - We need to differentiate between the two forms of video
504- - We can do this by interrogating the atom's metadata, which includes the new attribute `videoPlayerFormat`
505- */
506- if ( element . videoPlayerFormat === 'Loop' ) {
496+ if (
497+ element . videoPlayerFormat &&
498+ [ 'Loop' , 'Cinemagraph' ] . includes ( element . videoPlayerFormat )
499+ ) {
507500 return (
508- < LoopVideoInArticle
501+ < SelfHostedVideoInArticle
509502 element = { element }
510503 format = { format }
511504 isMainMedia = { isMainMedia }
505+ videoStyle = { element . videoPlayerFormat }
512506 />
513507 ) ;
514508 } else {
0 commit comments