Skip to content

Commit 7a16aed

Browse files
Rough first pass
1 parent 5ac6850 commit 7a16aed

2 files changed

Lines changed: 53 additions & 15 deletions

File tree

dotcom-rendering/src/layouts/StandardLayout.tsx

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,8 @@ export const StandardLayout = (props: WebProps | AppProps) => {
171171

172172
const renderAds = canRenderAds(article);
173173

174-
const layoutType: LayoutType = isMedia ? 'media' : 'standard';
174+
// TODO: Determine layout type based on article properties
175+
const layoutType: LayoutType = 'portrait';
175176

176177
return (
177178
<>
@@ -258,8 +259,15 @@ export const StandardLayout = (props: WebProps | AppProps) => {
258259
`,
259260
grid.container,
260261
grid.verticalRules({
261-
centre: isLabs ? false : true,
262+
centre:
263+
isLabs || layoutType === 'portrait'
264+
? false
265+
: true,
262266
}),
267+
layoutType === 'portrait' &&
268+
css`
269+
grid-template-rows: 0.25fr 1fr auto;
270+
`,
263271
]}
264272
>
265273
<GridItem area="main-media" layoutType={layoutType}>
@@ -318,18 +326,20 @@ export const StandardLayout = (props: WebProps | AppProps) => {
318326
layoutType={layoutType}
319327
element="aside"
320328
>
321-
<div css={stretchLines}>
322-
{isWeb &&
323-
format.theme === ArticleSpecial.Labs &&
324-
format.design !== ArticleDesign.Video ? (
325-
<GuardianLabsLines />
326-
) : (
327-
<DecideLines
328-
format={format}
329-
color={themePalette('--article-border')}
330-
/>
331-
)}
332-
</div>
329+
{layoutType !== 'portrait' && (
330+
<div css={stretchLines}>
331+
{isWeb &&
332+
format.theme === ArticleSpecial.Labs &&
333+
format.design !== ArticleDesign.Video ? (
334+
<GuardianLabsLines />
335+
) : (
336+
<DecideLines
337+
format={format}
338+
color={themePalette('--article-border')}
339+
/>
340+
)}
341+
</div>
342+
)}
333343
{isApps ? (
334344
<>
335345
<Hide from="leftCol">

dotcom-rendering/src/layouts/lib/furnitureArrangements.ts

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { css, type SerializedStyles } from '@emotion/react';
22
import { from, until } from '@guardian/source/foundations';
33

4-
export type LayoutType = 'standard' | 'media';
4+
export type LayoutType = 'standard' | 'media' | 'portrait';
55

66
export type Area =
77
| 'title'
@@ -106,9 +106,37 @@ const mediaCss: LayoutCssMap = {
106106
},
107107
};
108108

109+
const portraitCss: LayoutCssMap = {
110+
title: {
111+
mobile: 'grid-row: 1;',
112+
leftCol: 'grid-row: 1; grid-column: left-column-start / 9;',
113+
},
114+
headline: {
115+
mobile: 'grid-row: 2;',
116+
leftCol: 'grid-row: 2; grid-column: left-column-start / 9;',
117+
},
118+
'main-media': {
119+
mobile: 'grid-row: 3;',
120+
leftCol: 'grid-row: 1 / span 3; grid-column: 10 / right-column-end;',
121+
},
122+
standfirst: {
123+
mobile: 'grid-row: 4;',
124+
leftCol: 'grid-row: 3; grid-column: centre-column-start / 9;',
125+
},
126+
meta: {
127+
mobile: 'grid-row: 5;',
128+
leftCol:
129+
'grid-row: 3; grid-column: left-column-start / left-column-end;',
130+
},
131+
body: {
132+
mobile: 'grid-row: 6;',
133+
},
134+
};
135+
109136
const layoutCssMaps: Record<LayoutType, LayoutCssMap> = {
110137
standard: standardCss,
111138
media: mediaCss,
139+
portrait: portraitCss,
112140
};
113141

114142
/**

0 commit comments

Comments
 (0)