diff --git a/src/components/AutoCompleteSuggestions/BaseAutoCompleteSuggestions.js b/src/components/AutoCompleteSuggestions/BaseAutoCompleteSuggestions.js
index b4710f1f343e..40e08d876907 100644
--- a/src/components/AutoCompleteSuggestions/BaseAutoCompleteSuggestions.js
+++ b/src/components/AutoCompleteSuggestions/BaseAutoCompleteSuggestions.js
@@ -70,7 +70,7 @@ function BaseAutoCompleteSuggestions(props) {
});
const innerHeight = CONST.AUTO_COMPLETE_SUGGESTER.SUGGESTION_ROW_HEIGHT * props.suggestions.length;
- const animatedStyles = useAnimatedStyle(() => StyleUtils.getAutoCompleteSuggestionContainerStyle(rowHeight.value, props.shouldIncludeReportRecipientLocalTimeHeight));
+ const animatedStyles = useAnimatedStyle(() => StyleUtils.getAutoCompleteSuggestionContainerStyle(rowHeight.value));
useEffect(() => {
rowHeight.value = withTiming(measureHeightOfSuggestionRows(props.suggestions.length, props.isSuggestionPickerLarge), {
diff --git a/src/components/AutoCompleteSuggestions/autoCompleteSuggestionsPropTypes.js b/src/components/AutoCompleteSuggestions/autoCompleteSuggestionsPropTypes.js
index 16040991a3d8..8c6dca1902c5 100644
--- a/src/components/AutoCompleteSuggestions/autoCompleteSuggestionsPropTypes.js
+++ b/src/components/AutoCompleteSuggestions/autoCompleteSuggestionsPropTypes.js
@@ -22,9 +22,6 @@ const propTypes = {
* When this value is false, the suggester will have a height of 2.5 items. When this value is true, the height can be up to 5 items. */
isSuggestionPickerLarge: PropTypes.bool.isRequired,
- /** Show that we should include ReportRecipientLocalTime view height */
- shouldIncludeReportRecipientLocalTimeHeight: PropTypes.bool.isRequired,
-
/** create accessibility label for each item */
accessibilityLabelExtractor: PropTypes.func.isRequired,
diff --git a/src/components/AutoCompleteSuggestions/index.js b/src/components/AutoCompleteSuggestions/index.js
index b37fcd7181d9..9234d04f4507 100644
--- a/src/components/AutoCompleteSuggestions/index.js
+++ b/src/components/AutoCompleteSuggestions/index.js
@@ -14,7 +14,7 @@ import useWindowDimensions from '../../hooks/useWindowDimensions';
* On the native platform, tapping on auto-complete suggestions will not blur the main input.
*/
-function AutoCompleteSuggestions({parentContainerRef, ...props}) {
+function AutoCompleteSuggestions({measureParentContainer, ...props}) {
const containerRef = React.useRef(null);
const {windowHeight, windowWidth} = useWindowDimensions();
const [{width, left, bottom}, setContainerState] = React.useState({
@@ -37,11 +37,11 @@ function AutoCompleteSuggestions({parentContainerRef, ...props}) {
}, []);
React.useEffect(() => {
- if (!parentContainerRef || !parentContainerRef.current) {
+ if (!measureParentContainer) {
return;
}
- parentContainerRef.current.measureInWindow((x, y, w) => setContainerState({left: x, bottom: windowHeight - y, width: w}));
- }, [parentContainerRef, windowHeight, windowWidth]);
+ measureParentContainer((x, y, w) => setContainerState({left: x, bottom: windowHeight - y, width: w}));
+ }, [measureParentContainer, windowHeight, windowWidth]);
const componentToRender = (
);
- if (!width) {
- return componentToRender;
- }
-
- return ReactDOM.createPortal({componentToRender}, document.querySelector('body'));
+ return (
+ Boolean(width) &&
+ ReactDOM.createPortal({componentToRender}, document.querySelector('body'))
+ );
}
AutoCompleteSuggestions.propTypes = propTypes;
diff --git a/src/components/AutoCompleteSuggestions/index.native.js b/src/components/AutoCompleteSuggestions/index.native.js
index 514cec6cd844..f5ff4636f395 100644
--- a/src/components/AutoCompleteSuggestions/index.native.js
+++ b/src/components/AutoCompleteSuggestions/index.native.js
@@ -1,10 +1,15 @@
import React from 'react';
+import {Portal} from '@gorhom/portal';
import BaseAutoCompleteSuggestions from './BaseAutoCompleteSuggestions';
import {propTypes} from './autoCompleteSuggestionsPropTypes';
-function AutoCompleteSuggestions({parentContainerRef, ...props}) {
- // eslint-disable-next-line react/jsx-props-no-spreading
- return ;
+function AutoCompleteSuggestions({measureParentContainer, ...props}) {
+ return (
+
+ {/* eslint-disable-next-line react/jsx-props-no-spreading */}
+
+
+ );
}
AutoCompleteSuggestions.propTypes = propTypes;
diff --git a/src/components/EmojiSuggestions.js b/src/components/EmojiSuggestions.js
index b06b0cc63eb8..d7f7a8d6091a 100644
--- a/src/components/EmojiSuggestions.js
+++ b/src/components/EmojiSuggestions.js
@@ -40,9 +40,6 @@ const propTypes = {
* 2.5 items. When this value is true, the height can be up to 5 items. */
isEmojiPickerLarge: PropTypes.bool.isRequired,
- /** Show that we should include ReportRecipientLocalTime view height */
- shouldIncludeReportRecipientLocalTimeHeight: PropTypes.bool.isRequired,
-
/** Stores user's preferred skin tone */
preferredSkinToneIndex: PropTypes.number.isRequired,
@@ -102,7 +99,6 @@ function EmojiSuggestions(props) {
highlightedSuggestionIndex={props.highlightedEmojiIndex}
onSelect={props.onSelect}
isSuggestionPickerLarge={props.isEmojiPickerLarge}
- shouldIncludeReportRecipientLocalTimeHeight={props.shouldIncludeReportRecipientLocalTimeHeight}
accessibilityLabelExtractor={keyExtractor}
measureParentContainer={props.measureParentContainer}
/>
diff --git a/src/components/MentionSuggestions.js b/src/components/MentionSuggestions.js
index b3374279f66b..6c0803ca9d64 100644
--- a/src/components/MentionSuggestions.js
+++ b/src/components/MentionSuggestions.js
@@ -41,9 +41,6 @@ const propTypes = {
* When this value is false, the suggester will have a height of 2.5 items. When this value is true, the height can be up to 5 items. */
isMentionPickerLarge: PropTypes.bool.isRequired,
- /** Show that we should include ReportRecipientLocalTime view height */
- shouldIncludeReportRecipientLocalTimeHeight: PropTypes.bool.isRequired,
-
/** Meaures the parent container's position and dimensions. */
measureParentContainer: PropTypes.func,
};
@@ -126,7 +123,6 @@ function MentionSuggestions(props) {
highlightedSuggestionIndex={props.highlightedMentionIndex}
onSelect={props.onSelect}
isSuggestionPickerLarge={props.isMentionPickerLarge}
- shouldIncludeReportRecipientLocalTimeHeight={props.shouldIncludeReportRecipientLocalTimeHeight}
accessibilityLabelExtractor={keyExtractor}
measureParentContainer={props.measureParentContainer}
/>
diff --git a/src/pages/home/report/ReportActionCompose/ComposerWithSuggestions.js b/src/pages/home/report/ReportActionCompose/ComposerWithSuggestions.js
index 630c983cd889..95a33fe6b721 100644
--- a/src/pages/home/report/ReportActionCompose/ComposerWithSuggestions.js
+++ b/src/pages/home/report/ReportActionCompose/ComposerWithSuggestions.js
@@ -92,7 +92,6 @@ function ComposerWithSuggestions({
setIsFullComposerAvailable,
setIsCommentEmpty,
submitForm,
- shouldShowReportRecipientLocalTime,
shouldShowComposeInput,
measureParentContainer,
// Refs
@@ -535,7 +534,6 @@ function ComposerWithSuggestions({
isComposerFullSize={isComposerFullSize}
updateComment={updateComment}
composerHeight={composerHeight}
- shouldShowReportRecipientLocalTime={shouldShowReportRecipientLocalTime}
onInsertedEmoji={onInsertedEmoji}
measureParentContainer={measureParentContainer}
// Input
diff --git a/src/pages/home/report/ReportActionCompose/ReportActionCompose.js b/src/pages/home/report/ReportActionCompose/ReportActionCompose.js
index 6ef0a9867ece..46153bda15e6 100644
--- a/src/pages/home/report/ReportActionCompose/ReportActionCompose.js
+++ b/src/pages/home/report/ReportActionCompose/ReportActionCompose.js
@@ -5,6 +5,7 @@ import _ from 'underscore';
import lodashGet from 'lodash/get';
import {withOnyx} from 'react-native-onyx';
import {useAnimatedRef} from 'react-native-reanimated';
+import {PortalHost} from '@gorhom/portal';
import styles from '../../../../styles/styles';
import ONYXKEYS from '../../../../ONYXKEYS';
import * as Report from '../../../../libs/actions/Report';
@@ -318,6 +319,7 @@ function ReportActionCompose({
ref={containerRef}
style={[shouldShowReportRecipientLocalTime && !lodashGet(network, 'isOffline') && styles.chatItemComposeWithFirstRow, isComposerFullSize && styles.chatItemFullComposeRow]}
>
+
);
diff --git a/src/pages/home/report/ReportActionCompose/SuggestionMention.js b/src/pages/home/report/ReportActionCompose/SuggestionMention.js
index 62e98a697709..6c08b68cdc78 100644
--- a/src/pages/home/report/ReportActionCompose/SuggestionMention.js
+++ b/src/pages/home/report/ReportActionCompose/SuggestionMention.js
@@ -51,7 +51,6 @@ function SuggestionMention({
personalDetails,
updateComment,
composerHeight,
- shouldShowReportRecipientLocalTime,
forwardedRef,
isAutoSuggestionPickerLarge,
measureParentContainer,
@@ -285,7 +284,6 @@ function SuggestionMention({
isComposerFullSize={isComposerFullSize}
isMentionPickerLarge={isAutoSuggestionPickerLarge}
composerHeight={composerHeight}
- shouldIncludeReportRecipientLocalTimeHeight={shouldShowReportRecipientLocalTime}
measureParentContainer={measureParentContainer}
/>
);
diff --git a/src/pages/home/report/ReportActionCompose/Suggestions.js b/src/pages/home/report/ReportActionCompose/Suggestions.js
index 60cb9de4ccfb..a00bd342b17d 100644
--- a/src/pages/home/report/ReportActionCompose/Suggestions.js
+++ b/src/pages/home/report/ReportActionCompose/Suggestions.js
@@ -36,7 +36,6 @@ function Suggestions({
setSelection,
updateComment,
composerHeight,
- shouldShowReportRecipientLocalTime,
forwardedRef,
onInsertedEmoji,
resetKeyboardInput,
@@ -105,7 +104,6 @@ function Suggestions({
isComposerFullSize,
updateComment,
composerHeight,
- shouldShowReportRecipientLocalTime,
isAutoSuggestionPickerLarge,
measureParentContainer,
};
diff --git a/src/pages/home/report/ReportActionCompose/composerWithSuggestionsProps.js b/src/pages/home/report/ReportActionCompose/composerWithSuggestionsProps.js
index b8d9f0b6d816..0c8f36114c44 100644
--- a/src/pages/home/report/ReportActionCompose/composerWithSuggestionsProps.js
+++ b/src/pages/home/report/ReportActionCompose/composerWithSuggestionsProps.js
@@ -74,9 +74,6 @@ const propTypes = {
/** A method to call when the form is submitted */
submitForm: PropTypes.func.isRequired,
- /** Whether the recipient local time is shown or not */
- shouldShowReportRecipientLocalTime: PropTypes.bool.isRequired,
-
/** Whether the compose input is shown or not */
shouldShowComposeInput: PropTypes.bool.isRequired,
diff --git a/src/pages/home/report/ReportActionCompose/suggestionProps.js b/src/pages/home/report/ReportActionCompose/suggestionProps.js
index 12447929b980..815a1c5619f5 100644
--- a/src/pages/home/report/ReportActionCompose/suggestionProps.js
+++ b/src/pages/home/report/ReportActionCompose/suggestionProps.js
@@ -22,9 +22,6 @@ const baseProps = {
/** Callback to update the comment draft */
updateComment: PropTypes.func.isRequired,
- /** Flag whether we need to consider the participants */
- shouldShowReportRecipientLocalTime: PropTypes.bool.isRequired,
-
/** Meaures the parent container's position and dimensions. */
measureParentContainer: PropTypes.func.isRequired,
};
diff --git a/src/styles/StyleUtils.ts b/src/styles/StyleUtils.ts
index 11ade02220ab..190f18f8d969 100644
--- a/src/styles/StyleUtils.ts
+++ b/src/styles/StyleUtils.ts
@@ -938,11 +938,9 @@ function getBaseAutoCompleteSuggestionContainerStyle({left, bottom, width}: {lef
/**
* Gets the correct position for auto complete suggestion container
*/
-function getAutoCompleteSuggestionContainerStyle(itemsHeight: number, shouldIncludeReportRecipientLocalTimeHeight: boolean): ViewStyle | CSSProperties {
+function getAutoCompleteSuggestionContainerStyle(itemsHeight: number): ViewStyle | CSSProperties {
'worklet';
- const optionalPadding = shouldIncludeReportRecipientLocalTimeHeight ? CONST.RECIPIENT_LOCAL_TIME_HEIGHT : 0;
- const padding = CONST.AUTO_COMPLETE_SUGGESTER.SUGGESTER_PADDING + optionalPadding;
const borderWidth = 2;
const height = itemsHeight + 2 * CONST.AUTO_COMPLETE_SUGGESTER.SUGGESTER_INNER_PADDING + borderWidth;
@@ -950,7 +948,7 @@ function getAutoCompleteSuggestionContainerStyle(itemsHeight: number, shouldIncl
// we need to shift it by the suggester's height plus its padding and, if applicable, the height of the RecipientLocalTime view.
return {
overflow: 'hidden',
- top: -(height + padding),
+ top: -(height + CONST.AUTO_COMPLETE_SUGGESTER.SUGGESTER_PADDING),
height,
};
}