@@ -3,8 +3,8 @@ import { PropagateLoader } from 'react-spinners'
33import { useGetFeed } from 'src/features/cards'
44import { trackFeedScroll } from 'src/lib/analytics'
55import { useUserPreferences } from 'src/stores/preferences'
6+ import { FeedItemData } from 'src/types'
67import './feed.css'
7- import { AdvFeedItem } from './feedItems/AdvFeedItem'
88import { FeedItem } from './feedItems/FeedItem'
99
1010export const Feed = ( ) => {
@@ -20,9 +20,31 @@ export const Feed = () => {
2020 fetchNextPage,
2121 } = useGetFeed ( {
2222 tags : userSelectedTags . map ( ( tag ) => tag . label . toLocaleLowerCase ( ) ) ,
23+ config : {
24+ select : ( data ) => {
25+ return {
26+ ...data ,
27+ pages : data . pages . map ( ( page , pageIndex ) => {
28+ const items = page . data
29+ const result : FeedItemData [ ] = [ ]
30+ items . forEach ( ( item , index ) => {
31+ result . push ( item )
32+ if ( pageIndex == 0 && index === 2 ) {
33+ result . push ( { type : 'ad' , id : `ad-${ pageIndex } -${ index } ` } )
34+ }
35+ } )
36+
37+ return {
38+ ...page ,
39+ data : result ,
40+ }
41+ } ) ,
42+ }
43+ } ,
44+ } ,
2345 } )
2446
25- const [ infiniteRef , { rootRef} ] = useInfiniteScroll ( {
47+ const [ infiniteRef , { rootRef } ] = useInfiniteScroll ( {
2648 loading : isLoading ,
2749 hasNextPage : Boolean ( hasNextPage ) ,
2850 onLoadMore : ( ) => {
@@ -51,10 +73,6 @@ export const Feed = () => {
5173
5274 return (
5375 < div ref = { rootRef } className = "feed scrollable" style = { { overflow : 'auto' , maxHeight : '100%' } } >
54-
55- < div key = { `adv` } className = "feedItem" >
56- < AdvFeedItem />
57- </ div >
5876 { ( feed ?. pages . flatMap ( ( page ) => page . data ) || [ ] ) . map ( ( article , index ) => {
5977 return (
6078 < div key = { article . id } className = "feedItem" >
0 commit comments