Merge branch 'remove-groups-search' into 'develop'
Remove group search inside global search See merge request soapbox-pub/soapbox!2499
This commit is contained in:
commit
670b3cff02
4 changed files with 2 additions and 73 deletions
|
@ -1,7 +1,7 @@
|
||||||
import api from '../api';
|
import api from '../api';
|
||||||
|
|
||||||
import { fetchRelationships } from './accounts';
|
import { fetchRelationships } from './accounts';
|
||||||
import { importFetchedAccounts, importFetchedGroups, importFetchedStatuses } from './importer';
|
import { importFetchedAccounts, importFetchedStatuses } from './importer';
|
||||||
|
|
||||||
import type { AxiosError } from 'axios';
|
import type { AxiosError } from 'axios';
|
||||||
import type { SearchFilter } from 'soapbox/reducers/search';
|
import type { SearchFilter } from 'soapbox/reducers/search';
|
||||||
|
@ -83,10 +83,6 @@ const submitSearch = (filter?: SearchFilter) =>
|
||||||
dispatch(importFetchedStatuses(response.data.statuses));
|
dispatch(importFetchedStatuses(response.data.statuses));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (response.data.groups) {
|
|
||||||
dispatch(importFetchedGroups(response.data.groups));
|
|
||||||
}
|
|
||||||
|
|
||||||
dispatch(fetchSearchSuccess(response.data, value, type));
|
dispatch(fetchSearchSuccess(response.data, value, type));
|
||||||
dispatch(fetchRelationships(response.data.accounts.map((item: APIEntity) => item.id)));
|
dispatch(fetchRelationships(response.data.accounts.map((item: APIEntity) => item.id)));
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
|
@ -143,10 +139,6 @@ const expandSearch = (type: SearchFilter) => (dispatch: AppDispatch, getState: (
|
||||||
dispatch(importFetchedStatuses(data.statuses));
|
dispatch(importFetchedStatuses(data.statuses));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data.groups) {
|
|
||||||
dispatch(importFetchedGroups(data.groups));
|
|
||||||
}
|
|
||||||
|
|
||||||
dispatch(expandSearchSuccess(data, value, type));
|
dispatch(expandSearchSuccess(data, value, type));
|
||||||
dispatch(fetchRelationships(data.accounts.map((item: APIEntity) => item.id)));
|
dispatch(fetchRelationships(data.accounts.map((item: APIEntity) => item.id)));
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
import React, { useCallback } from 'react';
|
|
||||||
|
|
||||||
import GroupCard from 'soapbox/components/group-card';
|
|
||||||
import { useAppSelector } from 'soapbox/hooks';
|
|
||||||
import { makeGetGroup } from 'soapbox/selectors';
|
|
||||||
|
|
||||||
interface IGroupContainer {
|
|
||||||
id: string
|
|
||||||
}
|
|
||||||
|
|
||||||
const GroupContainer: React.FC<IGroupContainer> = (props) => {
|
|
||||||
const { id, ...rest } = props;
|
|
||||||
|
|
||||||
const getGroup = useCallback(makeGetGroup(), []);
|
|
||||||
const group = useAppSelector(state => getGroup(state, id));
|
|
||||||
|
|
||||||
if (group) {
|
|
||||||
return <GroupCard group={group} {...rest} />;
|
|
||||||
} else {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export default GroupContainer;
|
|
|
@ -9,13 +9,11 @@ import IconButton from 'soapbox/components/icon-button';
|
||||||
import ScrollableList from 'soapbox/components/scrollable-list';
|
import ScrollableList from 'soapbox/components/scrollable-list';
|
||||||
import { HStack, Tabs, Text } from 'soapbox/components/ui';
|
import { HStack, Tabs, Text } from 'soapbox/components/ui';
|
||||||
import AccountContainer from 'soapbox/containers/account-container';
|
import AccountContainer from 'soapbox/containers/account-container';
|
||||||
import GroupContainer from 'soapbox/containers/group-container';
|
|
||||||
import StatusContainer from 'soapbox/containers/status-container';
|
import StatusContainer from 'soapbox/containers/status-container';
|
||||||
import PlaceholderAccount from 'soapbox/features/placeholder/components/placeholder-account';
|
import PlaceholderAccount from 'soapbox/features/placeholder/components/placeholder-account';
|
||||||
import PlaceholderGroupCard from 'soapbox/features/placeholder/components/placeholder-group-card';
|
|
||||||
import PlaceholderHashtag from 'soapbox/features/placeholder/components/placeholder-hashtag';
|
import PlaceholderHashtag from 'soapbox/features/placeholder/components/placeholder-hashtag';
|
||||||
import PlaceholderStatus from 'soapbox/features/placeholder/components/placeholder-status';
|
import PlaceholderStatus from 'soapbox/features/placeholder/components/placeholder-status';
|
||||||
import { useAppDispatch, useAppSelector, useFeatures } from 'soapbox/hooks';
|
import { useAppDispatch, useAppSelector } from 'soapbox/hooks';
|
||||||
|
|
||||||
import type { OrderedSet as ImmutableOrderedSet } from 'immutable';
|
import type { OrderedSet as ImmutableOrderedSet } from 'immutable';
|
||||||
import type { VirtuosoHandle } from 'react-virtuoso';
|
import type { VirtuosoHandle } from 'react-virtuoso';
|
||||||
|
@ -24,7 +22,6 @@ import type { SearchFilter } from 'soapbox/reducers/search';
|
||||||
const messages = defineMessages({
|
const messages = defineMessages({
|
||||||
accounts: { id: 'search_results.accounts', defaultMessage: 'People' },
|
accounts: { id: 'search_results.accounts', defaultMessage: 'People' },
|
||||||
statuses: { id: 'search_results.statuses', defaultMessage: 'Posts' },
|
statuses: { id: 'search_results.statuses', defaultMessage: 'Posts' },
|
||||||
groups: { id: 'search_results.groups', defaultMessage: 'Groups' },
|
|
||||||
hashtags: { id: 'search_results.hashtags', defaultMessage: 'Hashtags' },
|
hashtags: { id: 'search_results.hashtags', defaultMessage: 'Hashtags' },
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -33,7 +30,6 @@ const SearchResults = () => {
|
||||||
|
|
||||||
const intl = useIntl();
|
const intl = useIntl();
|
||||||
const dispatch = useAppDispatch();
|
const dispatch = useAppDispatch();
|
||||||
const features = useFeatures();
|
|
||||||
|
|
||||||
const value = useAppSelector((state) => state.search.submittedValue);
|
const value = useAppSelector((state) => state.search.submittedValue);
|
||||||
const results = useAppSelector((state) => state.search.results);
|
const results = useAppSelector((state) => state.search.results);
|
||||||
|
@ -66,14 +62,6 @@ const SearchResults = () => {
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
if (features.groups) items.push(
|
|
||||||
{
|
|
||||||
text: intl.formatMessage(messages.groups),
|
|
||||||
action: () => selectFilter('groups'),
|
|
||||||
name: 'groups',
|
|
||||||
},
|
|
||||||
);
|
|
||||||
|
|
||||||
items.push(
|
items.push(
|
||||||
{
|
{
|
||||||
text: intl.formatMessage(messages.hashtags),
|
text: intl.formatMessage(messages.hashtags),
|
||||||
|
@ -186,31 +174,6 @@ const SearchResults = () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (selectedFilter === 'groups') {
|
|
||||||
hasMore = results.groupsHasMore;
|
|
||||||
loaded = results.groupsLoaded;
|
|
||||||
placeholderComponent = PlaceholderGroupCard;
|
|
||||||
|
|
||||||
if (results.groups && results.groups.size > 0) {
|
|
||||||
searchResults = results.groups.map((groupId: string) => (
|
|
||||||
<GroupContainer id={groupId} />
|
|
||||||
));
|
|
||||||
resultsIds = results.groups;
|
|
||||||
} else if (!submitted && trendingStatuses && !trendingStatuses.isEmpty()) {
|
|
||||||
searchResults = null;
|
|
||||||
} else if (loaded) {
|
|
||||||
noResultsMessage = (
|
|
||||||
<div className='empty-column-indicator'>
|
|
||||||
<FormattedMessage
|
|
||||||
id='empty_column.search.groups'
|
|
||||||
defaultMessage='There are no groups results for "{term}"'
|
|
||||||
values={{ term: value }}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (selectedFilter === 'hashtags') {
|
if (selectedFilter === 'hashtags') {
|
||||||
hasMore = results.hashtagsHasMore;
|
hasMore = results.hashtagsHasMore;
|
||||||
loaded = results.hashtagsLoaded;
|
loaded = results.hashtagsLoaded;
|
||||||
|
|
|
@ -689,7 +689,6 @@
|
||||||
"empty_column.remote": "There is nothing here! Manually follow users from {instance} to fill it up.",
|
"empty_column.remote": "There is nothing here! Manually follow users from {instance} to fill it up.",
|
||||||
"empty_column.scheduled_statuses": "You don't have any scheduled statuses yet. When you add one, it will show up here.",
|
"empty_column.scheduled_statuses": "You don't have any scheduled statuses yet. When you add one, it will show up here.",
|
||||||
"empty_column.search.accounts": "There are no people results for \"{term}\"",
|
"empty_column.search.accounts": "There are no people results for \"{term}\"",
|
||||||
"empty_column.search.groups": "There are no groups results for \"{term}\"",
|
|
||||||
"empty_column.search.hashtags": "There are no hashtags results for \"{term}\"",
|
"empty_column.search.hashtags": "There are no hashtags results for \"{term}\"",
|
||||||
"empty_column.search.statuses": "There are no posts results for \"{term}\"",
|
"empty_column.search.statuses": "There are no posts results for \"{term}\"",
|
||||||
"empty_column.test": "The test timeline is empty.",
|
"empty_column.test": "The test timeline is empty.",
|
||||||
|
@ -1320,7 +1319,6 @@
|
||||||
"search.placeholder": "Search",
|
"search.placeholder": "Search",
|
||||||
"search_results.accounts": "People",
|
"search_results.accounts": "People",
|
||||||
"search_results.filter_message": "You are searching for posts from @{acct}.",
|
"search_results.filter_message": "You are searching for posts from @{acct}.",
|
||||||
"search_results.groups": "Groups",
|
|
||||||
"search_results.hashtags": "Hashtags",
|
"search_results.hashtags": "Hashtags",
|
||||||
"search_results.statuses": "Posts",
|
"search_results.statuses": "Posts",
|
||||||
"security.codes.fail": "Failed to fetch backup codes",
|
"security.codes.fail": "Failed to fetch backup codes",
|
||||||
|
|
Loading…
Reference in a new issue