11import { css } from '@emotion/react' ;
22import { isUndefined } from '@guardian/libs' ;
3+ import { StraightLines } from '@guardian/source-development-kitchen/react-components' ;
34import {
45 from ,
56 palette as sourcePalette ,
67 until ,
78} from '@guardian/source/foundations' ;
8- import { Hide } from '@guardian/source/react-components' ;
9- import { StraightLines } from '@guardian/source-development-kitchen/react-components' ;
109import { AdPortals } from '../components/AdPortals.importable' ;
1110import { AdSlot , MobileStickyContainer } from '../components/AdSlot.web' ;
1211import { AffiliateDisclaimer } from '../components/AffiliateDisclaimer' ;
@@ -55,7 +54,13 @@ import type { ArticleDeprecated } from '../types/article';
5554import type { RenderingTarget } from '../types/renderingTarget' ;
5655import { BannerWrapper , Stuck } from './lib/stickiness' ;
5756
58- const ShowcaseGrid = ( { children } : { children : React . ReactNode } ) => (
57+ const ShowcaseGrid = ( {
58+ children,
59+ renderingTarget,
60+ } : {
61+ children : React . ReactNode ;
62+ renderingTarget : RenderingTarget ;
63+ } ) => (
5964 < div
6065 css = { css `
6166 /* IE Fallback */
@@ -75,6 +80,12 @@ const ShowcaseGrid = ({ children }: { children: React.ReactNode }) => (
7580 display : grid;
7681 width : 100% ;
7782 margin-left : 0 ;
83+ ${ renderingTarget === 'Apps' &&
84+ css `
85+ ${ from . leftCol } {
86+ margin-left : 270px ;
87+ }
88+ ` }
7889
7990 grid-column-gap : 10px ;
8091
@@ -87,32 +98,52 @@ const ShowcaseGrid = ({ children }: { children: React.ReactNode }) => (
8798 Right Column
8899
89100 */
90- ${ from . wide } {
91- grid-template-columns : 219px 1px 620px 80px 300px ;
92- grid-template-areas :
93- 'title border headline headline headline'
94- 'meta border media media media'
95- 'meta border standfirst . right-column'
96- 'meta border body . right-column'
97- '. border . . right-column' ;
98- }
99-
100- ${ until . wide } {
101- grid-template-columns : 140px 1px 620px 300px ;
102- grid-template-areas :
103- 'title border headline headline'
104- 'meta border media media'
105- 'meta border standfirst right-column'
106- 'meta border body right-column'
107- '. border . right-column' ;
108- }
101+ ${ renderingTarget === 'Web' &&
102+ css `
103+ ${ from . wide } {
104+ grid-template-columns : 219px 1px 620px 80px 300px ;
105+ grid-template-areas :
106+ 'title border headline headline headline'
107+ 'meta border media media media'
108+ 'meta border standfirst . right-column'
109+ 'meta border body . right-column'
110+ '. border . . right-column' ;
111+ }
112+
113+ ${ until . wide } {
114+ grid-template-columns : 140px 1px 620px 300px ;
115+ grid-template-areas :
116+ 'title border headline headline'
117+ 'meta border media media'
118+ 'meta border standfirst right-column'
119+ 'meta border body right-column'
120+ '. border . right-column' ;
121+ }
122+ ` }
109123
110124 /*
111125 Explanation of each unit of grid-template-columns
112126
113127 Main content
114128 Right Column
115129 */
130+
131+
132+ /* Apply until.leftCol layout from leftCol for Apps targets */
133+ ${ renderingTarget === 'Apps' &&
134+ css `
135+ ${ from . leftCol } {
136+ grid-template-columns : 620px 300px ;
137+ grid-template-areas :
138+ 'title right-column'
139+ 'headline right-column'
140+ 'standfirst right-column'
141+ 'media right-column'
142+ 'meta right-column'
143+ 'body right-column'
144+ '. right-column' ;
145+ }
146+ ` }
116147 ${ until . leftCol } {
117148 grid-template-columns : 620px 300px ;
118149 grid-template-areas :
@@ -362,7 +393,7 @@ export const ShowcaseLayout = (props: WebProps | AppsProps) => {
362393 element = "article"
363394 borderColour = { themePalette ( '--article-border' ) }
364395 >
365- < ShowcaseGrid >
396+ < ShowcaseGrid renderingTarget = { renderingTarget } >
366397 < GridItem area = "media" >
367398 < div css = { mainMediaWrapper } >
368399 < MainMedia
@@ -430,62 +461,24 @@ export const ShowcaseLayout = (props: WebProps | AppsProps) => {
430461 </ div >
431462 < div css = { [ maxWidth , fullHeight ] } >
432463 { isApps ? (
433- < >
434- < Hide from = "leftCol" >
435- < ArticleMetaApps
436- branding = { branding }
437- format = { format }
438- byline = { article . byline }
439- tags = { article . tags }
440- primaryDateline = {
441- article . webPublicationDateDisplay
442- }
443- secondaryDateline = {
444- article . webPublicationSecondaryDateDisplay
445- }
446- isCommentable = {
447- article . isCommentable
448- }
449- discussionApiUrl = {
450- article . config
451- . discussionApiUrl
452- }
453- shortUrlId = {
454- article . config . shortUrlId
455- }
456- pageId = { article . config . pageId }
457- > </ ArticleMetaApps >
458- </ Hide >
459- < Hide until = "leftCol" >
460- < ArticleMeta
461- branding = { branding }
462- format = { format }
463- pageId = { article . pageId }
464- webTitle = { article . webTitle }
465- byline = { article . byline }
466- tags = { article . tags }
467- primaryDateline = {
468- article . webPublicationDateDisplay
469- }
470- secondaryDateline = {
471- article . webPublicationSecondaryDateDisplay
472- }
473- isCommentable = {
474- article . isCommentable
475- }
476- discussionApiUrl = {
477- article . config
478- . discussionApiUrl
479- }
480- shortUrlId = {
481- article . config . shortUrlId
482- }
483- />
484- { ! ! article . affiliateLinksDisclaimer && (
485- < AffiliateDisclaimer />
486- ) }
487- </ Hide >
488- </ >
464+ < ArticleMetaApps
465+ branding = { branding }
466+ format = { format }
467+ byline = { article . byline }
468+ tags = { article . tags }
469+ primaryDateline = {
470+ article . webPublicationDateDisplay
471+ }
472+ secondaryDateline = {
473+ article . webPublicationSecondaryDateDisplay
474+ }
475+ isCommentable = { article . isCommentable }
476+ discussionApiUrl = {
477+ article . config . discussionApiUrl
478+ }
479+ shortUrlId = { article . config . shortUrlId }
480+ pageId = { article . config . pageId }
481+ > </ ArticleMetaApps >
489482 ) : (
490483 < >
491484 < ArticleMeta
@@ -622,7 +615,8 @@ export const ShowcaseLayout = (props: WebProps | AppsProps) => {
622615 margin-left : 20px ;
623616 margin-right : -20px ;
624617 }
625- ${ from . leftCol } {
618+ ${ renderingTarget !== 'Apps' &&
619+ from . leftCol } {
626620 /* above 1140 */
627621 margin-left : 0px ;
628622 margin-right : 0px ;
0 commit comments