Skip to content

Commit 5f86d17

Browse files
authored
Merge pull request #58878 from daledah/fix/57293-regressions
fix: Tapping an item from recent list directs blank page and fix regressions
2 parents 62360e1 + 298ae37 commit 5f86d17

File tree

2 files changed

+19
-19
lines changed

2 files changed

+19
-19
lines changed

src/components/Search/SearchRouter/SearchRouter.tsx

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ import ROUTES from '@src/ROUTES';
3737
import SCREENS from '@src/SCREENS';
3838
import type Report from '@src/types/onyx/Report';
3939
import isLoadingOnyxValue from '@src/types/utils/isLoadingOnyxValue';
40-
import KeyboardUtils from '@src/utils/keyboard';
4140
import {getQueryWithSubstitutions} from './getQueryWithSubstitutions';
4241
import type {SubstitutionMap} from './getQueryWithSubstitutions';
4342
import {getUpdatedSubstitutionsMap} from './getUpdatedSubstitutionsMap';
@@ -74,9 +73,10 @@ function getContextualSearchQuery(item: SearchQueryItem) {
7473
type SearchRouterProps = {
7574
onRouterClose: () => void;
7675
shouldHideInputCaret?: TextInputProps['caretHidden'];
76+
isSearchRouterDisplayed?: boolean;
7777
};
7878

79-
function SearchRouter({onRouterClose, shouldHideInputCaret}: SearchRouterProps, ref: React.Ref<View>) {
79+
function SearchRouter({onRouterClose, shouldHideInputCaret, isSearchRouterDisplayed}: SearchRouterProps, ref: React.Ref<View>) {
8080
const {translate} = useLocalize();
8181
const styles = useThemeStyles();
8282
const [, recentSearchesMetadata] = useOnyx(ONYXKEYS.RECENT_SEARCHES);
@@ -113,6 +113,10 @@ function SearchRouter({onRouterClose, shouldHideInputCaret}: SearchRouterProps,
113113
return undefined;
114114
}
115115

116+
if (!isSearchRouterDisplayed) {
117+
return undefined;
118+
}
119+
116120
const reportForContextualSearch = recentReports.find((option) => option.reportID === contextualReportID);
117121
if (!reportForContextualSearch) {
118122
return undefined;
@@ -159,7 +163,7 @@ function SearchRouter({onRouterClose, shouldHideInputCaret}: SearchRouterProps,
159163
},
160164
];
161165
},
162-
[contextualReportID, styles.activeComponentBG, textInputValue, translate],
166+
[contextualReportID, styles.activeComponentBG, textInputValue, translate, isSearchRouterDisplayed],
163167
);
164168

165169
const searchQueryItem = textInputValue
@@ -270,14 +274,11 @@ function SearchRouter({onRouterClose, shouldHideInputCaret}: SearchRouterProps,
270274
}
271275
} else {
272276
onRouterClose();
273-
274-
KeyboardUtils.dismiss().then(() => {
275-
if (item?.reportID) {
276-
Navigation.navigateToReportWithPolicyCheck({reportID: item?.reportID});
277-
} else if ('login' in item) {
278-
navigateToAndOpenReport(item.login ? [item.login] : [], false);
279-
}
280-
});
277+
if (item?.reportID) {
278+
Navigation.navigateToReportWithPolicyCheck({reportID: item?.reportID});
279+
} else if ('login' in item) {
280+
navigateToAndOpenReport(item.login ? [item.login] : [], false);
281+
}
281282
}
282283
},
283284
[autocompleteSubstitutions, onRouterClose, onSearchQueryChange, submitSearch, textInputValue],

src/components/Search/SearchRouter/SearchRouterModal.tsx

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,13 @@ function SearchRouterModal() {
4646
behavior="padding"
4747
style={[styles.flex1, {maxHeight: windowHeight}]}
4848
>
49-
{isSearchRouterDisplayed && (
50-
<FocusTrapForModal active={isSearchRouterDisplayed}>
51-
<SearchRouter
52-
onRouterClose={closeSearchRouter}
53-
shouldHideInputCaret={shouldHideInputCaret}
54-
/>
55-
</FocusTrapForModal>
56-
)}
49+
<FocusTrapForModal active={isSearchRouterDisplayed}>
50+
<SearchRouter
51+
onRouterClose={closeSearchRouter}
52+
shouldHideInputCaret={shouldHideInputCaret}
53+
isSearchRouterDisplayed={isSearchRouterDisplayed}
54+
/>
55+
</FocusTrapForModal>
5756
</KeyboardAvoidingView>
5857
</Modal>
5958
);

0 commit comments

Comments
 (0)