Skip to content

Comments

Include ArticleBody in HostedArticleLayout#15379

Open
deedeeh wants to merge 3 commits intomainfrom
dina/include-article-body-in-hosted-article
Open

Include ArticleBody in HostedArticleLayout#15379
deedeeh wants to merge 3 commits intomainfrom
dina/include-article-body-in-hosted-article

Conversation

@deedeeh
Copy link
Contributor

@deedeeh deedeeh commented Feb 17, 2026

What does this change?

This PR adds the ArticleBody component to HostedArticleLayout to populate the hosted content article data. I also changed the location of onwards content in the file to follow the grid of being centred until leftCol where we have it on the right column.

There will be follow up work related to the styling e.g. links and drop cap once we have confirmation on the designs.

Why?

Hosted content migration to DCAR.

Screenshots

Mobile

image

Tablet

image

Desktop

image

LeftCol

image

@deedeeh deedeeh added Commercial 💰 maintenance Departmental tracking: maintenance work, not a fix or a feature labels Feb 17, 2026
@deedeeh deedeeh changed the title Include article body in HostedArticleLayout Include ArticleBody in HostedArticleLayout Feb 17, 2026
@github-actions
Copy link

github-actions bot commented Feb 17, 2026

@deedeeh deedeeh force-pushed the dina/include-article-body-in-hosted-article branch from 437bf97 to 634c217 Compare February 17, 2026 16:46
@deedeeh deedeeh marked this pull request as ready for review February 17, 2026 16:46
@github-actions
Copy link

Hello 👋! When you're ready to run Chromatic, please apply the run_chromatic label to this PR.

You will need to reapply the label each time you want to run Chromatic.

Click here to see the Chromatic project.

@cemms1 cemms1 requested a review from a team February 18, 2026 14:05
Copy link
Contributor

@cemms1 cemms1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Left a few minor comments but nothing blocking ✨

const isInteractiveContent =
format.design === ArticleDesign.Interactive ||
format.design === ArticleDesign.Crossword;
const isHostedContent = format.design === ArticleDesign.HostedArticle;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should include the other hosted types in here too? Even though they won't ever actually render the ArticleBody, it would be better to be thorough

`;

const hostedContentH2Styles = (design: ArticleDesign) => css`
${design === ArticleDesign.HostedArticle &&
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we could make this pure CSS rather than a function since we already have the name of the styles in the function name, hostedContentH2Styles. We can conditionally render these styles if it is hosted content

So instead of

<div css=[hostedContentH2Styles(design)] >...

we could do the following:

<div css=[isHostedContent && hostedContentH2Styles] >...

Comment on lines +248 to +251
<Caption
captionText={mainMediaCaptionText}
format={format}
standfirst={frontendData.standfirst}
isMainMedia={true}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Logically it feels strange to have the caption for the main media so far down in the DOM. Maybe this could go above the article body?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Commercial 💰 maintenance Departmental tracking: maintenance work, not a fix or a feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants