diff --git a/Cloudflare_CA.crt b/Cloudflare_CA.crt
new file mode 100644
index 000000000000..f02f49a951fc
Binary files /dev/null and b/Cloudflare_CA.crt differ
diff --git a/src/components/MenuItem.js b/src/components/MenuItem.js
index c8906889612f..ec2d13ec9ac2 100644
--- a/src/components/MenuItem.js
+++ b/src/components/MenuItem.js
@@ -56,7 +56,6 @@ const defaultProps = {
disabled: false,
isSelected: false,
subtitle: undefined,
- subtitleTextStyle: {},
iconType: CONST.ICON_TYPE_ICON,
onPress: () => {},
onSecondaryInteraction: undefined,
@@ -76,6 +75,7 @@ const defaultProps = {
title: '',
numberOfLinesTitle: 1,
shouldGreyOutWhenDisabled: true,
+ error: '',
shouldRenderAsHTML: false,
};
@@ -266,6 +266,11 @@ const MenuItem = React.forwardRef((props, ref) => {
{props.description}
)}
+ {props.error && (
+
+ {props.error}
+
+ )}
{Boolean(props.furtherDetails) && (
{
{/* Since subtitle can be of type number, we should allow 0 to be shown */}
{(props.subtitle || props.subtitle === 0) && (
- {props.subtitle}
+ {props.subtitle}
)}
{!_.isEmpty(props.floatRightAvatars) && (
diff --git a/src/components/ReportActionItem/MoneyRequestView.js b/src/components/ReportActionItem/MoneyRequestView.js
index 712c7ded6ab0..16b774b4e94a 100644
--- a/src/components/ReportActionItem/MoneyRequestView.js
+++ b/src/components/ReportActionItem/MoneyRequestView.js
@@ -126,8 +126,7 @@ function MoneyRequestView({report, parentReport, shouldShowHorizontalRule, trans
shouldShowRightIcon={canEdit}
onPress={() => Navigation.navigate(ROUTES.getEditRequestRoute(report.reportID, CONST.EDIT_REQUEST_FIELD.AMOUNT))}
brickRoadIndicator={hasErrors && transactionAmount === 0 ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : ''}
- subtitle={hasErrors && transactionAmount === 0 ? translate('common.error.enterAmount') : ''}
- subtitleTextStyle={styles.textLabelError}
+ error={hasErrors && transactionAmount === 0 ? translate('common.error.enterAmount') : ''}
/>
@@ -152,8 +151,7 @@ function MoneyRequestView({report, parentReport, shouldShowHorizontalRule, trans
titleStyle={styles.flex1}
onPress={() => Navigation.navigate(ROUTES.getEditRequestRoute(report.reportID, CONST.EDIT_REQUEST_FIELD.DATE))}
brickRoadIndicator={hasErrors && transactionDate === '' ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : ''}
- subtitle={hasErrors && transactionDate === '' ? translate('common.error.enterDate') : ''}
- subtitleTextStyle={styles.textLabelError}
+ error={hasErrors && transactionDate === '' ? translate('common.error.enterDate') : ''}
/>
@@ -165,8 +163,7 @@ function MoneyRequestView({report, parentReport, shouldShowHorizontalRule, trans
titleStyle={styles.flex1}
onPress={() => Navigation.navigate(ROUTES.getEditRequestRoute(report.reportID, CONST.EDIT_REQUEST_FIELD.MERCHANT))}
brickRoadIndicator={hasErrors && isEmptyMerchant ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : ''}
- subtitle={hasErrors && isEmptyMerchant ? translate('common.error.enterMerchant') : ''}
- subtitleTextStyle={styles.textLabelError}
+ error={hasErrors && isEmptyMerchant ? translate('common.error.enterMerchant') : ''}
/>
{shouldShowHorizontalRule && }
diff --git a/src/components/menuItemPropTypes.js b/src/components/menuItemPropTypes.js
index 53216ab7cdc7..88d592cb83d5 100644
--- a/src/components/menuItemPropTypes.js
+++ b/src/components/menuItemPropTypes.js
@@ -88,9 +88,6 @@ const propTypes = {
/** A right-aligned subtitle for this menu option */
subtitle: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
- /** Style for the subtitle */
- subtitleTextStyle: stylePropTypes,
-
/** Flag to choose between avatar image or an icon */
iconType: PropTypes.oneOf([CONST.ICON_TYPE_AVATAR, CONST.ICON_TYPE_ICON, CONST.ICON_TYPE_WORKSPACE]),
@@ -145,6 +142,9 @@ const propTypes = {
/** Should we grey out the menu item when it is disabled? */
shouldGreyOutWhenDisabled: PropTypes.bool,
+ /** Error to display below the title */
+ error: PropTypes.string,
+
/** Should render the content in HTML format */
shouldRenderAsHTML: PropTypes.bool,
};