diff --git a/web/modals/search/message-search-modal.react.js b/web/modals/search/message-search-modal.react.js --- a/web/modals/search/message-search-modal.react.js +++ b/web/modals/search/message-search-modal.react.js @@ -20,17 +20,18 @@ import Modal from '../modal.react.js'; type ContentProps = { - +query: string, +threadInfo: ThreadInfo, }; -function MessageSearchModalContent(props: ContentProps): React.Node { - const { query, threadInfo } = props; +function MessageSearchModal(props: ContentProps): React.Node { + const { threadInfo } = props; const [lastID, setLastID] = React.useState(); const [searchResults, setSearchResults] = React.useState([]); const [endReached, setEndReached] = React.useState(false); + const { query, setQuery, clearQuery } = useMessageSearchContext(); + const appendSearchResults = React.useCallback( (newMessages: $ReadOnlyArray, end: boolean) => { setSearchResults(oldMessages => [...oldMessages, ...newMessages]); @@ -127,33 +128,6 @@ ); }, [query, endReached, modifiedItems.length]); - return ( -
- {messages} - {footer} -
- ); -} - -function oldestMessageID(data: $ReadOnlyArray) { - for (let i = data.length - 1; i >= 0; i--) { - if (data[i].itemType === 'message' && data[i].messageInfo.id) { - return data[i].messageInfo.id; - } - } - return undefined; -} - -type Props = { - +threadInfo: ThreadInfo, -}; - -function MessageSearchModal(props: Props): React.Node { - const { threadInfo } = props; - const { popModal } = useModalContext(); - - const { query, setQuery, clearQuery } = useMessageSearchContext(); - const [input, setInput] = React.useState(query); const onClearText = React.useCallback(() => clearQuery(), [clearQuery]); @@ -171,9 +145,6 @@ ); }, [onPressSearch]); - const { uiName } = useResolvedThreadInfo(threadInfo); - const searchPlaceholder = `Searching in ${uiName}`; - const onKeyDown = React.useCallback( event => { if (event.key === 'Enter') { @@ -183,6 +154,10 @@ [onPressSearch], ); + const { uiName } = useResolvedThreadInfo(threadInfo); + const searchPlaceholder = `Searching in ${uiName}`; + const { popModal } = useModalContext(); + return (
@@ -195,10 +170,22 @@ /> {button}
- +
+ {messages} + {footer} +
{' '}
); } +function oldestMessageID(data: $ReadOnlyArray) { + for (let i = data.length - 1; i >= 0; i--) { + if (data[i].itemType === 'message' && data[i].messageInfo.id) { + return data[i].messageInfo.id; + } + } + return undefined; +} + export default MessageSearchModal;