@@ -14,7 +14,14 @@ import { addQueryArgs, getQueryArgs } from '@wordpress/url';
1414import { useSelect } from '@wordpress/data' ;
1515import { Page } from '../../components/page' ;
1616import { useFeed } from '../../hooks/use-feed' ;
17- import { titleField , dateField , excerptField , metadataField , contentField } from '../../components/fields' ;
17+ import {
18+ titleField ,
19+ dateField ,
20+ excerptField ,
21+ metadataField ,
22+ contentField ,
23+ objectTypeField ,
24+ } from '../../components/fields' ;
1825import { enforceContentExcerptMutualExclusion , normalizeFieldOrder } from './utils' ;
1926import type { FeedPost } from '../../types' ;
2027import { STORE_NAME } from '../../store' ;
@@ -120,9 +127,13 @@ export default function FeedStage( { onSelectItem }: FeedStageProps ) {
120127 const newFields = updatedView . fields || [ ] ;
121128 const fields = enforceContentExcerptMutualExclusion ( oldFields , newFields ) ;
122129
123- updateView ( { ...updatedView , fields } ) ;
130+ // Reset to page 1 when filters change
131+ const filtersChanged = JSON . stringify ( view . filters ) !== JSON . stringify ( updatedView . filters ) ;
132+ const page = filtersChanged ? 1 : updatedView . page ;
133+
134+ updateView ( { ...updatedView , fields, page } ) ;
124135 } ,
125- [ view . fields , updateView ]
136+ [ view . fields , view . filters , updateView ]
126137 ) ;
127138
128139 // Reset view to default state when actor switches
@@ -145,10 +156,11 @@ export default function FeedStage( { onSelectItem }: FeedStageProps ) {
145156 order : view . sort ?. direction || 'desc' ,
146157 search : view . search || '' ,
147158 userId : activeActorId ,
159+ filters : view . filters ,
148160 } ) ;
149161
150162 const fields : Field < FeedPost > [ ] = useMemo (
151- ( ) => [ metadataField , titleField , excerptField , contentField , dateField ] ,
163+ ( ) => [ metadataField , titleField , excerptField , contentField , dateField , objectTypeField ] ,
152164 [ ]
153165 ) ;
154166
@@ -238,7 +250,13 @@ export default function FeedStage( { onSelectItem }: FeedStageProps ) {
238250 lastProcessedPage . current = currentPage ;
239251 setIsLoadingMore ( false ) ;
240252 }
241- } , [ feed , normalizedView . page , normalizedView . search , normalizedView . infiniteScrollEnabled ] ) ;
253+ } , [
254+ feed ,
255+ normalizedView . page ,
256+ normalizedView . search ,
257+ normalizedView . infiniteScrollEnabled ,
258+ normalizedView . filters ,
259+ ] ) ;
242260
243261 return (
244262 < Page
0 commit comments