Skip to content

Commit a3bc91c

Browse files
authored
Revert "Revert "Expect grouped cards for flex gen (#13508)" (#13520)" (#13522)
This reverts commit 24e978d.
1 parent cefd64b commit a3bc91c

File tree

1 file changed

+37
-35
lines changed

1 file changed

+37
-35
lines changed

dotcom-rendering/src/model/groupCards.ts

Lines changed: 37 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -106,59 +106,61 @@ export const groupCards = (
106106
};
107107
}
108108
case 'flexible/general': {
109-
const splash = curated.filter(({ card }) => card.group === '1');
109+
const hasv2Grouping = curated.some(
110+
({ card }) => card.group === '3',
111+
);
112+
const splashGroup = hasv2Grouping ? '3' : '1';
113+
const splash = curated.filter(
114+
({ card }) => card.group === splashGroup,
115+
);
116+
117+
// Backfilled cards will always be treated as 'standard' cards
118+
const standard = [
119+
...curated.filter(({ card }) => card.group !== splashGroup),
120+
...backfill,
121+
];
122+
123+
const enhanceOptions = (offset = 0) => ({
124+
cardInTagPage: false,
125+
editionId,
126+
discussionApiUrl,
127+
offset,
128+
});
110129

111130
return {
112131
snap: [],
113132
huge: [],
114133
veryBig: [],
115134
big: [],
116-
splash: enhanceCards(splash, {
117-
cardInTagPage: false,
118-
editionId,
119-
discussionApiUrl,
120-
}),
121-
standard: enhanceCards(
122-
// Backfilled cards will always be treated as 'standard' cards
123-
curated
124-
.filter(({ card }) => card.group === '0')
125-
.concat(backfill),
126-
{
127-
cardInTagPage: false,
128-
offset: splash.length,
129-
editionId,
130-
discussionApiUrl,
131-
},
132-
),
135+
splash: enhanceCards(splash, enhanceOptions()),
136+
standard: enhanceCards(standard, enhanceOptions(splash.length)),
133137
};
134138
}
135139
case 'flexible/special':
136140
case 'dynamic/package': {
137141
const snap = curated.filter(({ card }) => card.group === '1');
142+
143+
// Backfilled cards will always be treated as 'standard' cards
144+
const standard = [
145+
...curated.filter(({ card }) => card.group === '0'),
146+
...backfill,
147+
];
148+
const enhanceOptions = (offset = 0) => ({
149+
cardInTagPage: false,
150+
editionId,
151+
discussionApiUrl,
152+
offset,
153+
});
154+
138155
return {
139156
// Splash is not supported on these container types
140157
splash: [],
141158
huge: [],
142159
veryBig: [],
143160
big: [],
144161
// Only 'snap' and 'standard' are supported by dynamic/package
145-
snap: enhanceCards(snap, {
146-
cardInTagPage: false,
147-
editionId,
148-
discussionApiUrl,
149-
}),
150-
standard: enhanceCards(
151-
// Backfilled cards will always be treated as 'standard' cards
152-
curated
153-
.filter(({ card }) => card.group === '0')
154-
.concat(backfill),
155-
{
156-
cardInTagPage: false,
157-
offset: snap.length,
158-
editionId,
159-
discussionApiUrl,
160-
},
161-
),
162+
snap: enhanceCards(snap, enhanceOptions()),
163+
standard: enhanceCards(standard, enhanceOptions(snap.length)),
162164
};
163165
}
164166
default:

0 commit comments

Comments
 (0)