conversation search: do not show user or friends results

pull/712/head
Audric Ackermann 6 years ago
parent 28a27711e1
commit f241440855

@ -17,12 +17,6 @@ interface Props {
searchTerm: string;
isSecondaryDevice: boolean;
// Action Creators
startNewConversation: (
query: string,
options: { regionCode: string }
) => void;
openConversationInternal: (id: string, messageId?: string) => void;
updateSearchTerm: (searchTerm: string) => void;
search: (query: string, options: SearchOptions) => void;
@ -60,7 +54,6 @@ export class LeftPane extends React.Component<Props, State> {
private renderMessageSection() {
const {
startNewConversation,
openConversationInternal,
conversations,
searchResults,
@ -73,7 +66,6 @@ export class LeftPane extends React.Component<Props, State> {
return (
<LeftPaneMessageSection
startNewConversation={startNewConversation}
openConversationInternal={openConversationInternal}
conversations={conversations}
searchResults={searchResults}

@ -7,12 +7,9 @@ import {
MessageSearchResult,
PropsData as MessageSearchResultPropsType,
} from './MessageSearchResult';
import { StartNewConversation } from './StartNewConversation';
import { LocalizerType } from '../types/Util';
declare var mixpanel: any;
export type PropsData = {
contacts: Array<ConversationListItemPropsType>;
friends: Array<ConversationListItemPropsType>;
@ -27,21 +24,11 @@ export type PropsData = {
type PropsHousekeeping = {
i18n: LocalizerType;
openConversation: (id: string, messageId?: string) => void;
startNewConversation: (
query: string,
options: { regionCode: string }
) => void;
};
type Props = PropsData & PropsHousekeeping;
export class SearchResults extends React.Component<Props> {
public handleStartNewConversation = () => {
const { regionCode, searchTerm, startNewConversation } = this.props;
mixpanel.track('New Conversation Started');
startNewConversation(searchTerm, { regionCode });
};
public render() {
const {
conversations,
@ -73,13 +60,6 @@ export class SearchResults extends React.Component<Props> {
{i18n('noSearchResults', [searchTerm])}
</div>
) : null}
{showStartNewConversation ? (
<StartNewConversation
phoneNumber={searchTerm}
i18n={i18n}
onClick={this.handleStartNewConversation}
/>
) : null}
{haveConversations ? (
<div className="module-search-results__conversations">
<div className="module-search-results__conversations-header">
@ -95,12 +75,6 @@ export class SearchResults extends React.Component<Props> {
))}
</div>
) : null}
{haveFriends
? this.renderContacts(i18n('friendsHeader'), friends, true)
: null}
{haveContacts
? this.renderContacts(i18n('contactsHeader'), contacts)
: null}
{haveMessages ? (
<div className="module-search-results__messages">
{hideMessagesHeader ? null : (
@ -121,27 +95,4 @@ export class SearchResults extends React.Component<Props> {
</div>
);
}
private renderContacts(
header: string,
items: Array<ConversationListItemPropsType>,
friends?: boolean
) {
const { i18n, openConversation } = this.props;
return (
<div className="module-search-results__contacts">
<div className="module-search-results__contacts-header">{header}</div>
{items.map(contact => (
<ConversationListItem
key={contact.phoneNumber}
isFriendItem={friends}
{...contact}
onClick={openConversation}
i18n={i18n}
/>
))}
</div>
);
}
}

@ -27,14 +27,8 @@ export interface Props {
conversations?: Array<ConversationListItemPropsType>;
friends?: Array<ConversationListItemPropsType>;
searchResults?: SearchResultsProps;
// Action Creators
startNewConversation: (
query: string,
options: { regionCode: string }
) => void;
updateSearchTerm: (searchTerm: string) => void;
search: (query: string, options: SearchOptions) => void;
openConversationInternal: (id: string, messageId?: string) => void;
@ -109,18 +103,13 @@ export class LeftPaneMessageSection extends React.Component<Props, any> {
};
public renderList(): JSX.Element | Array<JSX.Element | null> {
const {
openConversationInternal,
startNewConversation,
searchResults,
} = this.props;
const { openConversationInternal, searchResults } = this.props;
if (searchResults) {
return (
<SearchResults
{...searchResults}
openConversation={openConversationInternal}
startNewConversation={startNewConversation}
i18n={window.i18n}
/>
);

@ -67,6 +67,11 @@ export const getSearchResults = createSelector(
state.conversations.map(id => {
const value = lookup[id];
// Don't return anything when activeAt is undefined (i.e. no current conversations with this user)
if (value.activeAt === undefined) {
return null;
}
if (value && id === selectedConversation) {
return {
...value,

Loading…
Cancel
Save