From 654be51aa8f37cc140baafeb21205d1ebe1df5f2 Mon Sep 17 00:00:00 2001 From: Robert Kozik Date: Thu, 18 May 2023 19:00:33 +0200 Subject: [PATCH 1/4] onPress prop shouldn't be required in GenericPressable --- .../Pressable/GenericPressable/BaseGenericPressable.js | 3 +++ src/components/Pressable/GenericPressable/PropTypes.js | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/Pressable/GenericPressable/BaseGenericPressable.js b/src/components/Pressable/GenericPressable/BaseGenericPressable.js index 50c933823e63..4b68e0a9cea3 100644 --- a/src/components/Pressable/GenericPressable/BaseGenericPressable.js +++ b/src/components/Pressable/GenericPressable/BaseGenericPressable.js @@ -89,6 +89,9 @@ const GenericPressable = forwardRef((props, ref) => { if (isDisabled) { return; } + if (!onPress) { + return; + } if (shouldUseHapticsOnPress) { HapticFeedback.press(); } diff --git a/src/components/Pressable/GenericPressable/PropTypes.js b/src/components/Pressable/GenericPressable/PropTypes.js index 5d92885fb95d..0a1f4244e869 100644 --- a/src/components/Pressable/GenericPressable/PropTypes.js +++ b/src/components/Pressable/GenericPressable/PropTypes.js @@ -8,7 +8,7 @@ const pressablePropTypes = { /** * onPress callback */ - onPress: PropTypes.func.isRequired, + onPress: PropTypes.func, /** * Specifies keyboard shortcut to trigger onPressHandler From 58db714d053cf872d0ddf1d7b194d2c925a317f8 Mon Sep 17 00:00:00 2001 From: Robert Kozik Date: Thu, 18 May 2023 19:01:34 +0200 Subject: [PATCH 2/4] migrate BasePreRenderer to PressableWithoutFeedback --- .../HTMLRenderers/PreRenderer/BasePreRenderer.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/components/HTMLEngineProvider/HTMLRenderers/PreRenderer/BasePreRenderer.js b/src/components/HTMLEngineProvider/HTMLRenderers/PreRenderer/BasePreRenderer.js index 8226a11b8d09..c6248a93258c 100644 --- a/src/components/HTMLEngineProvider/HTMLRenderers/PreRenderer/BasePreRenderer.js +++ b/src/components/HTMLEngineProvider/HTMLRenderers/PreRenderer/BasePreRenderer.js @@ -1,6 +1,6 @@ import React, {forwardRef} from 'react'; import {ScrollView} from 'react-native-gesture-handler'; -import {TouchableWithoutFeedback, View} from 'react-native'; +import {View} from 'react-native'; import PropTypes from 'prop-types'; import _ from 'underscore'; import htmlRendererPropTypes from '../htmlRendererPropTypes'; @@ -8,6 +8,7 @@ import withLocalize from '../../../withLocalize'; import {ShowContextMenuContext, showContextMenuForReport} from '../../../ShowContextMenuContext'; import styles from '../../../../styles/styles'; import * as ReportUtils from '../../../../libs/ReportUtils'; +import PressableWithoutFeedback from '../../../Pressable/PressableWithoutFeedback'; const propTypes = { /** Press in handler for the code block */ @@ -37,16 +38,18 @@ const BasePreRenderer = forwardRef((props, ref) => { > {({anchor, report, action, checkIfContextMenuActive}) => ( - showContextMenuForReport(event, anchor, report.reportID, action, checkIfContextMenuActive, ReportUtils.isArchivedRoom(report))} + accessibilityRole="text" + accessibilityLabel="prestyled text" > {/* eslint-disable-next-line react/jsx-props-no-spreading */} - + )} From f2bb34ce0cc68d5275b55a8840e5e7003c945817 Mon Sep 17 00:00:00 2001 From: Robert Kozik Date: Thu, 18 May 2023 19:43:56 +0200 Subject: [PATCH 3/4] translate accessibilityLabel for BasePreRenderer --- .../HTMLRenderers/PreRenderer/BasePreRenderer.js | 2 +- src/languages/en.js | 1 + src/languages/es.js | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/HTMLEngineProvider/HTMLRenderers/PreRenderer/BasePreRenderer.js b/src/components/HTMLEngineProvider/HTMLRenderers/PreRenderer/BasePreRenderer.js index c6248a93258c..ab6147b7615d 100644 --- a/src/components/HTMLEngineProvider/HTMLRenderers/PreRenderer/BasePreRenderer.js +++ b/src/components/HTMLEngineProvider/HTMLRenderers/PreRenderer/BasePreRenderer.js @@ -43,7 +43,7 @@ const BasePreRenderer = forwardRef((props, ref) => { onPressOut={props.onPressOut} onLongPress={(event) => showContextMenuForReport(event, anchor, report.reportID, action, checkIfContextMenuActive, ReportUtils.isArchivedRoom(report))} accessibilityRole="text" - accessibilityLabel="prestyled text" + accessibilityLabel={props.translate('accessibilityHints.prestyledText')} > {/* eslint-disable-next-line react/jsx-props-no-spreading */} diff --git a/src/languages/en.js b/src/languages/en.js index b7131985b4f5..292a91574a05 100755 --- a/src/languages/en.js +++ b/src/languages/en.js @@ -1318,6 +1318,7 @@ export default { workspaceName: 'Workspace name', chatUserDisplayNames: 'Chat user display names', scrollToNewestMessages: 'Scroll to newest messages', + prestyledText: 'Prestyled text', }, parentReportAction: { deletedMessage: '[Deleted message]', diff --git a/src/languages/es.js b/src/languages/es.js index 466392854f2a..abcb5909bd23 100644 --- a/src/languages/es.js +++ b/src/languages/es.js @@ -1783,6 +1783,7 @@ export default { workspaceName: 'Nombre del espacio de trabajo', chatUserDisplayNames: 'Nombres de los usuarios del chat', scrollToNewestMessages: 'Desplázate a los mensajes más recientes', + prestyledText: 'texto preestilizado', }, parentReportAction: { deletedMessage: '[Mensaje eliminado]', From 857df4bb26b9c58f07e1886c2474d3b0f7b9e117 Mon Sep 17 00:00:00 2001 From: Robert Kozik Date: Thu, 25 May 2023 10:13:27 +0200 Subject: [PATCH 4/4] create default value for onPress prop in GenericPressable --- src/components/Pressable/GenericPressable/PropTypes.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/Pressable/GenericPressable/PropTypes.js b/src/components/Pressable/GenericPressable/PropTypes.js index 148b9d3f57c4..588161031e10 100644 --- a/src/components/Pressable/GenericPressable/PropTypes.js +++ b/src/components/Pressable/GenericPressable/PropTypes.js @@ -121,6 +121,7 @@ const pressablePropTypes = { }; const defaultProps = { + onPress: undefined, keyboardShortcut: undefined, shouldUseHapticsOnPress: false, shouldUseHapticsOnLongPress: false,