Skip to content

Commit dba083f

Browse files
committed
Slimify all sections and reduce font size in AB test
1 parent debe3c0 commit dba083f

16 files changed

Lines changed: 394 additions & 133 deletions

ab-testing/config/abTests.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,14 +109,14 @@ const ABTests: ABTest[] = [
109109
{
110110
name: "fronts-and-curation-slim-homepage",
111111
description:
112-
"Test placing the Most Viewed and Deeply Read components in the right-hand column on the homepage.",
112+
"Test slimming content and placing Most Popular components on the right-hand side on the UK front.",
113113
owners: ["fronts.and.curation@guardian.co.uk"],
114114
status: "ON",
115-
expirationDate: `2026-04-28`,
115+
expirationDate: "2026-04-28",
116116
type: "server",
117117
audienceSize: 0 / 100,
118118
audienceSpace: "A",
119-
groups: ["control", "variant"],
119+
groups: ["control", "variant-one", "variant-two"],
120120
shouldForceMetricsCollection: false,
121121
},
122122
{

dotcom-rendering/src/components/CardHeadline.tsx

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { css } from '@emotion/react';
22
import {
33
between,
4+
from,
45
headlineMedium14,
56
headlineMedium15,
67
headlineMedium17,
@@ -142,6 +143,7 @@ export enum FontFamily {
142143
export type HeadlineSize = keyof typeof fontFamilies.headlineMedium;
143144

144145
export type ResponsiveFontSize = {
146+
wide?: HeadlineSize;
145147
desktop: HeadlineSize;
146148
tablet?: HeadlineSize;
147149
mobile?: HeadlineSize;
@@ -151,7 +153,7 @@ export type ResponsiveFontSize = {
151153
const getFontSize = (sizes: ResponsiveFontSize, family: FontFamily) => {
152154
const font = fontFamilies[family];
153155

154-
const { desktop, tablet, mobileMedium, mobile } = sizes;
156+
const { wide, desktop, tablet, mobileMedium, mobile } = sizes;
155157

156158
return css`
157159
${font[desktop]};
@@ -176,6 +178,13 @@ const getFontSize = (sizes: ResponsiveFontSize, family: FontFamily) => {
176178
${font[mobileMedium]};
177179
}
178180
`}
181+
182+
${wide &&
183+
css`
184+
${from.wide} {
185+
${font[wide]};
186+
}
187+
`}
179188
`;
180189
};
181190

@@ -204,15 +213,23 @@ export const WithLink = ({
204213
return <>{children}</>;
205214
};
206215

216+
/**
217+
* headline medium 20 on desktop and headline medium 17 on tablet and mobile
218+
*/
219+
export const defaultFontSizes: ResponsiveFontSize = {
220+
desktop: 'xsmall',
221+
tablet: 'xxsmall',
222+
mobile: 'xxsmall',
223+
};
224+
207225
export const CardHeadline = ({
208226
headlineText,
209227
format,
210228
showQuotes,
211229
kickerText,
212230
showPulsingDot,
213231
hasInlineKicker,
214-
/** headline medium 20 on desktop and headline medium 17 on tablet and mobile */
215-
fontSizes = { desktop: 'xsmall', tablet: 'xxsmall', mobile: 'xxsmall' },
232+
fontSizes = defaultFontSizes,
216233
byline,
217234
showByline,
218235
linkTo,

dotcom-rendering/src/components/DecideContainer.tsx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ type Props = {
4747
frontId?: string;
4848
collectionId: number;
4949
containerLevel?: DCRContainerLevel;
50+
isInSlimHomepageAbTestVariant?: boolean;
5051
};
5152

5253
export const DecideContainer = ({
@@ -62,6 +63,7 @@ export const DecideContainer = ({
6263
frontId,
6364
collectionId,
6465
containerLevel,
66+
isInSlimHomepageAbTestVariant = false,
6567
}: Props) => {
6668
switch (containerType) {
6769
case 'dynamic/fast':
@@ -244,6 +246,9 @@ export const DecideContainer = ({
244246
imageLoading={imageLoading}
245247
aspectRatio={aspectRatio}
246248
collectionId={collectionId}
249+
isInSlimHomepageAbTestVariant={
250+
isInSlimHomepageAbTestVariant
251+
}
247252
/>
248253
);
249254
case 'flexible/general':
@@ -257,6 +262,9 @@ export const DecideContainer = ({
257262
aspectRatio={aspectRatio}
258263
containerLevel={containerLevel}
259264
collectionId={collectionId}
265+
isInSlimHomepageAbTestVariant={
266+
isInSlimHomepageAbTestVariant
267+
}
260268
/>
261269
);
262270
case 'scrollable/small':
@@ -284,6 +292,9 @@ export const DecideContainer = ({
284292
serverTime={serverTime}
285293
aspectRatio={aspectRatio}
286294
sectionId={sectionId}
295+
isInSlimHomepageAbTestVariant={
296+
isInSlimHomepageAbTestVariant
297+
}
287298
/>
288299
</Island>
289300
);
@@ -296,6 +307,9 @@ export const DecideContainer = ({
296307
serverTime={serverTime}
297308
imageLoading={imageLoading}
298309
aspectRatio={aspectRatio}
310+
isInSlimHomepageAbTestVariant={
311+
isInSlimHomepageAbTestVariant
312+
}
299313
/>
300314
);
301315
case 'scrollable/feature':
@@ -308,6 +322,9 @@ export const DecideContainer = ({
308322
serverTime={serverTime}
309323
aspectRatio={aspectRatio}
310324
collectionId={collectionId}
325+
isInSlimHomepageAbTestVariant={
326+
isInSlimHomepageAbTestVariant
327+
}
311328
/>
312329
</Island>
313330
);

dotcom-rendering/src/components/FlexibleGeneral.stories.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,13 +160,17 @@ const meta = {
160160
imageLoading: 'eager',
161161
aspectRatio: '5:4',
162162
collectionId: 1,
163+
isInSlimHomepageAbTestVariant: false,
163164
},
164165
render: ({ frontSectionTitle, ...args }) => (
165166
<FrontSection
166167
title={frontSectionTitle}
167168
discussionApiUrl={discussionApiUrl}
168169
editionId="UK"
169170
showTopBorder={true}
171+
slimifySectionForSlimHomepageAbTest={
172+
args.isInSlimHomepageAbTestVariant
173+
}
170174
>
171175
<FlexibleGeneral {...args} />
172176
</FrontSection>
@@ -193,6 +197,14 @@ export const SplashWithStandards: Story = {
193197
},
194198
};
195199

200+
export const SplashWithStandardsInSlimHomepageAbTest: Story = {
201+
name: 'Splash with big and standard cards in the Slim Homepage AB Test',
202+
args: {
203+
...SplashWithStandards.args,
204+
isInSlimHomepageAbTestVariant: true,
205+
},
206+
};
207+
196208
export const SplashWithSublinks: Story = {
197209
name: 'Standard splash with sublinks',
198210
args: {

0 commit comments

Comments
 (0)