@@ -13,7 +13,6 @@ import { ArticleContainer } from '../components/ArticleContainer';
13
13
import { ArticleHeadline } from '../components/ArticleHeadline' ;
14
14
import { ArticleMeta } from '../components/ArticleMeta.web' ;
15
15
import { ArticleTitle } from '../components/ArticleTitle' ;
16
- import { Carousel } from '../components/Carousel.importable' ;
17
16
import { CrosswordInstructions } from '../components/CrosswordInstructions' ;
18
17
import { CrosswordLinks } from '../components/CrosswordLinks' ;
19
18
import { DecideLines } from '../components/DecideLines' ;
@@ -23,9 +22,6 @@ import { GridItem } from '../components/GridItem';
23
22
import { HeaderAdSlot } from '../components/HeaderAdSlot' ;
24
23
import { Island } from '../components/Island' ;
25
24
import { Masthead } from '../components/Masthead/Masthead' ;
26
- import { MostViewedFooterData } from '../components/MostViewedFooterData.importable' ;
27
- import { MostViewedFooterLayout } from '../components/MostViewedFooterLayout' ;
28
- import { OnwardsUpper } from '../components/OnwardsUpper.importable' ;
29
25
import { RightColumn } from '../components/RightColumn' ;
30
26
import { Section } from '../components/Section' ;
31
27
import { SlotBodyEnd } from '../components/SlotBodyEnd.importable' ;
@@ -36,103 +32,44 @@ import { SubNav } from '../components/SubNav.importable';
36
32
import { type ArticleFormat , ArticleSpecial } from '../lib/articleFormat' ;
37
33
import { canRenderAds } from '../lib/canRenderAds' ;
38
34
import { getContributionsServiceUrl } from '../lib/contributions' ;
39
- import { decideTrail } from '../lib/decideTrail' ;
40
35
import type { NavType } from '../model/extract-nav' ;
41
36
import { palette as themePalette } from '../palette' ;
42
37
import type { ArticleDeprecated } from '../types/article' ;
43
- import type { RenderingTarget } from '../types/renderingTarget' ;
44
38
import { BannerWrapper , Stuck } from './lib/stickiness' ;
45
39
46
40
const CrosswordGrid = ( { children } : { children : React . ReactNode } ) => (
47
41
< div
48
42
css = { css `
49
- /* IE Fallback */
50
- display : flex ;
51
- flex-direction : column ;
52
- ${ until . leftCol } {
53
- margin-left : 0 px ;
54
- }
55
- ${ from . leftCol } {
56
- margin-left : 151 px ;
57
- }
58
- ${ from . wide } {
59
- margin-left : 230 px ;
60
- }
43
+ display : grid;
44
+ width : 100 % ;
45
+ margin-left : 0 ;
46
+ grid-column-gap : 0 px ;
47
+ grid-template-columns : minmax ( 0 , 1 fr ) ;
48
+ grid-template-areas :
49
+ 'title'
50
+ 'headline'
51
+ 'standfirst'
52
+ 'meta'
53
+ 'instructions'
54
+ 'body' ;
61
55
62
- @supports (display : grid) {
63
- display : grid;
64
- width : 100% ;
65
- margin-left : 0 ;
56
+ ${ from . leftCol } {
66
57
grid-column-gap : 20px ;
58
+ grid-template-columns : 140px 1fr ;
59
+ grid-template-areas :
60
+ 'title headline '
61
+ 'meta standfirst '
62
+ 'meta instructions'
63
+ 'body body ' ;
64
+ }
67
65
68
- /*
69
- Explanation of each unit of grid-template-columns
70
-
71
- Left Column
72
- Main content
73
- Right Column
74
- */
75
- ${ from . wide } {
76
- grid-template-columns : 220px 1fr 300px ;
77
-
78
- grid-template-areas :
79
- 'title headline right-column'
80
- 'meta standfirst right-column'
81
- 'meta instructions right-column'
82
- 'body body right-column' ;
83
- }
84
-
85
- /*
86
- Explanation of each unit of grid-template-columns
87
-
88
- Left Column
89
- Main content
90
- Right Column
91
- */
92
- ${ until . wide } {
93
- grid-template-columns : 140px 1fr 300px ;
94
-
95
- grid-template-areas :
96
- 'title headline right-column'
97
- 'meta standfirst right-column'
98
- 'meta instructions right-column'
99
- 'body body right-column' ;
100
- }
101
-
102
- ${ until . leftCol } {
103
- grid-template-columns : 1fr 300px ;
104
- grid-template-areas :
105
- 'title right-column'
106
- 'headline right-column'
107
- 'standfirst right-column'
108
- 'meta right-column'
109
- 'instructions right-column'
110
- 'body right-column' ;
111
- }
112
-
113
- ${ until . desktop } {
114
- grid-column-gap : 0px ;
115
- grid-template-columns : minmax (0 , 1fr ); /* Main content */
116
- grid-template-areas :
117
- 'title'
118
- 'headline'
119
- 'standfirst'
120
- 'meta'
121
- 'instructions'
122
- 'body' ;
123
- }
124
-
125
- ${ until . tablet } {
126
- grid-column-gap : 0px ;
127
- grid-template-columns : minmax (0 , 1fr ); /* Main content */
128
- grid-template-areas :
129
- 'title'
130
- 'headline'
131
- 'standfirst'
132
- 'meta'
133
- 'instructions'
134
- 'body' ;
135
- }
66
+ ${ from . wide } {
67
+ grid-template-columns : 220px 1fr 300px ;
68
+ grid-template-areas :
69
+ 'title headline right-column'
70
+ 'meta standfirst right-column'
71
+ 'meta instructions right-column'
72
+ 'body body right-column' ;
136
73
}
137
74
` }
138
75
>
@@ -157,19 +94,14 @@ const stretchLines = css`
157
94
}
158
95
` ;
159
96
160
- interface CommonProps {
97
+ interface Props {
161
98
article : ArticleDeprecated ;
162
99
format : ArticleFormat ;
163
- renderingTarget : RenderingTarget ;
164
- }
165
-
166
- interface WebProps extends CommonProps {
167
100
NAV : NavType ;
168
- renderingTarget : 'Web' ;
169
101
}
170
102
171
- export const CrosswordLayout = ( props : WebProps ) => {
172
- const { article, format, renderingTarget } = props ;
103
+ export const CrosswordLayout = ( props : Props ) => {
104
+ const { article, format } = props ;
173
105
const {
174
106
config : { isPaidContent, host, hasSurveyAd } ,
175
107
} = article ;
@@ -180,8 +112,6 @@ export const CrosswordLayout = (props: WebProps) => {
180
112
181
113
const contributionsServiceUrl = getContributionsServiceUrl ( article ) ;
182
114
183
- const { absoluteServerTimes = false } = article . config . switches ;
184
-
185
115
/**
186
116
* This property currently only applies to the header and merchandising slots
187
117
*/
@@ -378,7 +308,7 @@ export const CrosswordLayout = (props: WebProps) => {
378
308
</ ArticleContainer >
379
309
</ GridItem >
380
310
< GridItem area = "right-column" >
381
- < RightColumn >
311
+ < RightColumn showFrom = "wide" >
382
312
{ renderAds ? (
383
313
< AdSlot
384
314
position = "right"
@@ -485,56 +415,6 @@ export const CrosswordLayout = (props: WebProps) => {
485
415
</ Section >
486
416
) }
487
417
488
- { article . storyPackage && (
489
- < Section
490
- fullWidth = { true }
491
- showTopBorder = { false }
492
- backgroundColour = { themePalette (
493
- '--article-section-background' ,
494
- ) }
495
- borderColour = { themePalette ( '--article-border' ) }
496
- >
497
- < Island priority = "feature" defer = { { until : 'visible' } } >
498
- < Carousel
499
- heading = { article . storyPackage . heading }
500
- trails = { article . storyPackage . trails . map (
501
- decideTrail ,
502
- ) }
503
- onwardsSource = "more-on-this-story"
504
- format = { format }
505
- leftColSize = { 'compact' }
506
- discussionApiUrl = {
507
- article . config . discussionApiUrl
508
- }
509
- absoluteServerTimes = { absoluteServerTimes }
510
- renderingTarget = { renderingTarget }
511
- />
512
- </ Island >
513
- </ Section >
514
- ) }
515
-
516
- < Island priority = "feature" defer = { { until : 'visible' } } >
517
- < OnwardsUpper
518
- ajaxUrl = { article . config . ajaxUrl }
519
- hasRelated = { article . hasRelated }
520
- hasStoryPackage = { article . hasStoryPackage }
521
- isAdFreeUser = { article . isAdFreeUser }
522
- pageId = { article . pageId }
523
- isPaidContent = { ! ! article . config . isPaidContent }
524
- showRelatedContent = { article . config . showRelatedContent }
525
- keywordIds = { article . config . keywordIds }
526
- contentType = { article . contentType }
527
- tags = { article . tags }
528
- format = { format }
529
- pillar = { format . theme }
530
- editionId = { article . editionId }
531
- shortUrlId = { article . config . shortUrlId }
532
- discussionApiUrl = { article . config . discussionApiUrl }
533
- absoluteServerTimes = { absoluteServerTimes }
534
- renderingTarget = { renderingTarget }
535
- />
536
- </ Island >
537
-
538
418
{ showComments && (
539
419
< Section
540
420
fullWidth = { true }
@@ -565,36 +445,6 @@ export const CrosswordLayout = (props: WebProps) => {
565
445
</ Section >
566
446
) }
567
447
568
- { ! isPaidContent && (
569
- < Section
570
- title = "Most viewed"
571
- padContent = { false }
572
- verticalMargins = { false }
573
- element = "aside"
574
- data-print-layout = "hide"
575
- data-link-name = "most-popular"
576
- data-component = "most-popular"
577
- backgroundColour = { themePalette (
578
- '--article-section-background' ,
579
- ) }
580
- borderColour = { themePalette ( '--article-border' ) }
581
- fontColour = { themePalette ( '--article-section-title' ) }
582
- >
583
- < MostViewedFooterLayout renderAds = { renderAds } >
584
- < Island
585
- priority = "feature"
586
- defer = { { until : 'visible' } }
587
- >
588
- < MostViewedFooterData
589
- sectionId = { article . config . section }
590
- ajaxUrl = { article . config . ajaxUrl }
591
- edition = { article . editionId }
592
- />
593
- </ Island >
594
- </ MostViewedFooterLayout >
595
- </ Section >
596
- ) }
597
-
598
448
{ renderAds && (
599
449
< Section
600
450
fullWidth = { true }
0 commit comments