reorder tabs

This commit is contained in:
Mary Kate Fain 2024-05-22 11:50:02 -05:00
parent 1fda261032
commit 6ca49e8322
2 changed files with 15 additions and 11 deletions

View File

@ -38,7 +38,7 @@ const SearchResults = () => {
const trendingStatuses = useAppSelector((state) => state.trending_statuses.items); const trendingStatuses = useAppSelector((state) => state.trending_statuses.items);
const trends = useAppSelector((state) => state.trends.items); const trends = useAppSelector((state) => state.trends.items);
const submitted = useAppSelector((state) => state.search.submitted); 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 filterByAccount = useAppSelector((state) => state.search.accountId || undefined);
const { account } = useAccount(filterByAccount); const { account } = useAccount(filterByAccount);
@ -51,16 +51,16 @@ const SearchResults = () => {
const renderFilterBar = () => { const renderFilterBar = () => {
const items = []; const items = [];
items.push( items.push(
{
text: intl.formatMessage(messages.accounts),
action: () => selectFilter('accounts'),
name: 'accounts',
},
{ {
text: intl.formatMessage(messages.statuses), text: intl.formatMessage(messages.statuses),
action: () => selectFilter('statuses'), action: () => selectFilter('statuses'),
name: 'statuses', name: 'statuses',
}, },
{
text: intl.formatMessage(messages.accounts),
action: () => selectFilter('accounts'),
name: 'accounts',
},
); );
items.push( items.push(
@ -105,6 +105,10 @@ const SearchResults = () => {
useEffect(() => { useEffect(() => {
dispatch(fetchTrendingStatuses()); dispatch(fetchTrendingStatuses());
// Ensure the filter is set to 'statuses' initially
if (!selectedFilter) {
dispatch(setFilter('statuses'));
}
}, []); }, []);
let searchResults; let searchResults;

View File

@ -45,14 +45,14 @@ const ReducerRecord = ImmutableRecord({
submittedValue: '', submittedValue: '',
hidden: false, hidden: false,
results: ResultsRecord(), results: ResultsRecord(),
filter: 'accounts' as SearchFilter, filter: 'statuses' as SearchFilter,
accountId: null as string | null, accountId: null as string | null,
next: null as string | null, next: null as string | null,
}); });
type State = ReturnType<typeof ReducerRecord>; type State = ReturnType<typeof ReducerRecord>;
type APIEntities = Array<APIEntity>; type APIEntities = Array<APIEntity>;
export type SearchFilter = 'accounts' | 'statuses' | 'groups' | 'hashtags'; export type SearchFilter = 'statuses' | 'accounts' | 'groups' | 'hashtags';
const toIds = (items: APIEntities = []) => { const toIds = (items: APIEntities = []) => {
return ImmutableOrderedSet(items.map(item => item.id)); return ImmutableOrderedSet(items.map(item => item.id));
@ -62,8 +62,8 @@ const importResults = (state: State, results: APIEntity, searchTerm: string, sea
return state.withMutations(state => { return state.withMutations(state => {
if (state.value === searchTerm && state.filter === searchType) { if (state.value === searchTerm && state.filter === searchType) {
state.set('results', ResultsRecord({ state.set('results', ResultsRecord({
accounts: toIds(results.accounts),
statuses: toIds(results.statuses), statuses: toIds(results.statuses),
accounts: toIds(results.accounts),
groups: toIds(results.groups), groups: toIds(results.groups),
hashtags: ImmutableOrderedSet(results.hashtags.map(normalizeTag)), // it's a list of records hashtags: ImmutableOrderedSet(results.hashtags.map(normalizeTag)), // it's a list of records
accountsHasMore: results.accounts.length >= 20, accountsHasMore: results.accounts.length >= 20,