diff --git a/src/features/compose/components/search-results.tsx b/src/features/compose/components/search-results.tsx index 362e4abe7..f2dbcd31e 100644 --- a/src/features/compose/components/search-results.tsx +++ b/src/features/compose/components/search-results.tsx @@ -38,7 +38,7 @@ const SearchResults = () => { const trendingStatuses = useAppSelector((state) => state.trending_statuses.items); const trends = useAppSelector((state) => state.trends.items); const submitted = useAppSelector((state) => state.search.submitted); - const selectedFilter = useAppSelector((state) => state.search.filter); + const selectedFilter = useAppSelector((state) => state.search.filter || 'statuses'); const filterByAccount = useAppSelector((state) => state.search.accountId || undefined); const { account } = useAccount(filterByAccount); @@ -51,18 +51,18 @@ const SearchResults = () => { const renderFilterBar = () => { const items = []; items.push( - { - text: intl.formatMessage(messages.accounts), - action: () => selectFilter('accounts'), - name: 'accounts', - }, { text: intl.formatMessage(messages.statuses), action: () => selectFilter('statuses'), name: 'statuses', }, + { + text: intl.formatMessage(messages.accounts), + action: () => selectFilter('accounts'), + name: 'accounts', + }, ); - + items.push( { text: intl.formatMessage(messages.hashtags), @@ -70,7 +70,7 @@ const SearchResults = () => { name: 'hashtags', }, ); - + return ; }; @@ -105,6 +105,10 @@ const SearchResults = () => { useEffect(() => { dispatch(fetchTrendingStatuses()); + // Ensure the filter is set to 'statuses' initially + if (!selectedFilter) { + dispatch(setFilter('statuses')); + } }, []); let searchResults; diff --git a/src/reducers/search.ts b/src/reducers/search.ts index f4e299290..3019b2b86 100644 --- a/src/reducers/search.ts +++ b/src/reducers/search.ts @@ -45,14 +45,14 @@ const ReducerRecord = ImmutableRecord({ submittedValue: '', hidden: false, results: ResultsRecord(), - filter: 'accounts' as SearchFilter, + filter: 'statuses' as SearchFilter, accountId: null as string | null, next: null as string | null, }); type State = ReturnType; type APIEntities = Array; -export type SearchFilter = 'accounts' | 'statuses' | 'groups' | 'hashtags'; +export type SearchFilter = 'statuses' | 'accounts' | 'groups' | 'hashtags'; const toIds = (items: APIEntities = []) => { return ImmutableOrderedSet(items.map(item => item.id)); @@ -62,8 +62,8 @@ const importResults = (state: State, results: APIEntity, searchTerm: string, sea return state.withMutations(state => { if (state.value === searchTerm && state.filter === searchType) { state.set('results', ResultsRecord({ - accounts: toIds(results.accounts), statuses: toIds(results.statuses), + accounts: toIds(results.accounts), groups: toIds(results.groups), hashtags: ImmutableOrderedSet(results.hashtags.map(normalizeTag)), // it's a list of records accountsHasMore: results.accounts.length >= 20,