1- import { css } from '@emotion/react' ;
21import { isNonNullable , isObject } from '@guardian/libs' ;
32import { useEffect , useState } from 'react' ;
43import { decideFormat } from '../lib/articleFormat' ;
@@ -12,7 +11,6 @@ import { MoreGalleries } from './MoreGalleries';
1211import { Placeholder } from './Placeholder' ;
1312
1413type Props = {
15- limit : number ; // Limit the number of items shown (the api often returns more)
1614 discussionApiUrl : string ;
1715 absoluteServerTimes : boolean ;
1816 isAdFreeUser : boolean ;
@@ -25,10 +23,6 @@ type MoreGalleriesResponse = {
2523 trails : FETrailType [ ] ;
2624} ;
2725
28- const minHeight = css `
29- min-height : 300px ;
30- ` ;
31-
3226const getMedia = ( galleryCount ?: number ) : MainMedia | undefined => {
3327 if ( typeof galleryCount === 'number' ) {
3428 return { type : 'Gallery' , count : galleryCount . toString ( ) } ;
@@ -91,7 +85,6 @@ const fetchJson = async (ajaxUrl: string): Promise<MoreGalleriesResponse> => {
9185} ;
9286
9387export const FetchMoreGalleriesData = ( {
94- limit,
9588 discussionApiUrl,
9689 absoluteServerTimes,
9790 isAdFreeUser,
@@ -117,10 +110,19 @@ export const FetchMoreGalleriesData = ({
117110 } ) ;
118111 } , [ ajaxUrl ] ) ;
119112
113+ useEffect ( ( ) => {
114+ if ( ! data ) return ;
115+ addDiscussionIds (
116+ data . trails
117+ . map ( ( trail ) => trail . discussion ?. discussionId )
118+ . filter ( isNonNullable ) ,
119+ ) ;
120+ } , [ data ] ) ;
121+
120122 if ( error ) {
121123 // Send the error to Sentry and then prevent the element from rendering
122124 window . guardian . modules . sentry . reportError ( error , 'more-galleries' ) ;
123- return undefined ;
125+ return null ;
124126 }
125127
126128 if ( ! data ?. trails ) {
@@ -147,22 +149,16 @@ export const FetchMoreGalleriesData = ({
147149 ) ;
148150 }
149151
150- addDiscussionIds (
151- data . trails
152- . map ( ( trail ) => trail . discussion ?. discussionId )
153- . filter ( isNonNullable ) ,
154- ) ;
155-
156152 return (
157153 < div
158154 css = { {
159- backgroundColor : palette ( '--onward-background' ) ,
160- minHeight : 300 ,
155+ backgroundColor : palette ( '--onward-background' ) ,
156+ minHeight : 300 ,
161157 } }
162158 >
163159 < MoreGalleries
164160 absoluteServerTimes = { absoluteServerTimes }
165- trails = { buildTrails ( data . trails , limit , isAdFreeUser ) }
161+ trails = { buildTrails ( data . trails , 5 , isAdFreeUser ) }
166162 discussionApiUrl = { discussionApiUrl }
167163 guardianBaseUrl = { guardianBaseUrl }
168164 />
0 commit comments