Skip to content

Commit e310914

Browse files
committed
Don't show "Ask Concierge" in search router until the report is loaded
1 parent 313ac27 commit e310914

2 files changed

Lines changed: 21 additions & 13 deletions

File tree

src/components/Search/SearchRouter/SearchRouter.tsx

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ function SearchRouter({onRouterClose, shouldHideInputCaret, isSearchRouterDispla
7474
const {shouldUseNarrowLayout} = useResponsiveLayout();
7575
const listRef = useRef<SelectionListWithSectionsHandle>(null);
7676
const expensifyIcons = useMemoizedLazyExpensifyIcons(['MagnifyingGlass', 'ConciergeAvatar']);
77-
const askConcierge = useAskConcierge();
77+
const {askConcierge, shouldShowAskConcierge} = useAskConcierge();
7878

7979
// The actual input text that the user sees
8080
const [textInputValue, , setTextInputValue] = useDebouncedState('', 500);
@@ -210,15 +210,19 @@ function SearchRouter({onRouterClose, shouldHideInputCaret, isSearchRouterDispla
210210
keyForList: CONST.SEARCH.SEARCH_ROUTER_ITEM_TYPE.FIND_ITEM,
211211
searchItemType: CONST.SEARCH.SEARCH_ROUTER_ITEM_TYPE.SEARCH,
212212
},
213-
{
214-
text: translate('search.askConcierge', textInputValue),
215-
singleIcon: expensifyIcons.ConciergeAvatar,
216-
shouldIconApplyFill: false,
217-
searchQuery: textInputValue,
218-
itemStyle: styles.activeComponentBG,
219-
keyForList: CONST.SEARCH.SEARCH_ROUTER_ITEM_TYPE.ASK_CONCIERGE,
220-
searchItemType: CONST.SEARCH.SEARCH_ROUTER_ITEM_TYPE.ASK_CONCIERGE,
221-
},
213+
...(shouldShowAskConcierge
214+
? [
215+
{
216+
text: translate('search.askConcierge', textInputValue),
217+
singleIcon: expensifyIcons.ConciergeAvatar,
218+
shouldIconApplyFill: false,
219+
searchQuery: textInputValue,
220+
itemStyle: styles.activeComponentBG,
221+
keyForList: CONST.SEARCH.SEARCH_ROUTER_ITEM_TYPE.ASK_CONCIERGE,
222+
searchItemType: CONST.SEARCH.SEARCH_ROUTER_ITEM_TYPE.ASK_CONCIERGE,
223+
},
224+
]
225+
: []),
222226
]
223227
: undefined;
224228

src/components/Search/SearchRouter/useAskConcierge.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import ONYXKEYS from '@src/ONYXKEYS';
1111
/**
1212
* Returns a callback that opens the side panel (or Concierge chat on native)
1313
* and sends the provided search query as a message.
14+
* Also returns a flag indicating whether the Ask Concierge item is ready to be displayed.
1415
*/
1516
function useAskConcierge() {
1617
const sidePanelReportID = useSidePanelReportID();
@@ -20,13 +21,14 @@ function useAskConcierge() {
2021
const [targetReport] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${getNonEmptyStringOnyxID(targetReportID)}`);
2122
const {timezone, accountID: currentUserAccountID} = useCurrentUserPersonalDetails();
2223
const delegateAccountID = useDelegateAccountID();
24+
const shouldShowAskConcierge = !!targetReportID && !!targetReport;
2325

24-
return (searchQuery: string) => {
25-
openConciergeAnywhere();
26+
const askConcierge = (searchQuery: string) => {
2627
const trimmedQuery = searchQuery.trim();
27-
if (!trimmedQuery || !targetReport || !targetReportID) {
28+
if (!trimmedQuery || !shouldShowAskConcierge) {
2829
return;
2930
}
31+
openConciergeAnywhere();
3032
addComment({
3133
report: targetReport,
3234
notifyReportID: targetReportID,
@@ -39,6 +41,8 @@ function useAskConcierge() {
3941
delegateAccountID,
4042
});
4143
};
44+
45+
return {askConcierge, shouldShowAskConcierge};
4246
}
4347

4448
export default useAskConcierge;

0 commit comments

Comments
 (0)