From eb05c4cd6fbbc3363c9618ab650db2965409beb5 Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Wed, 28 Jun 2023 13:38:21 -0500 Subject: [APP-692] Accessibility font-scaling fixes (#922) * Fix: enable font scaling in the composer text input * Fix: cancel button in search no longer wraps * Fix: report modals no longer clip off the bottom with scaled fonts * Fix scrolling on android * Allow wrapping in dropdown items until we can handle proper sizing --- src/view/com/composer/text-input/TextInput.tsx | 1 + src/view/com/modals/report/ReportAccount.tsx | 10 ++++-- src/view/com/modals/report/ReportPost.tsx | 47 +++++++++++++++----------- src/view/com/search/HeaderWithInput.tsx | 1 - src/view/com/util/forms/DropdownButton.tsx | 4 +-- 5 files changed, 36 insertions(+), 27 deletions(-) (limited to 'src') diff --git a/src/view/com/composer/text-input/TextInput.tsx b/src/view/com/composer/text-input/TextInput.tsx index 7b09da93d..08da42abc 100644 --- a/src/view/com/composer/text-input/TextInput.tsx +++ b/src/view/com/composer/text-input/TextInput.tsx @@ -200,6 +200,7 @@ export const TextInput = forwardRef( placeholderTextColor={pal.colors.textLight} keyboardAppearance={theme.colorScheme} autoFocus={true} + allowFontScaling multiline style={[pal.text, styles.textInput, styles.textInputFormatting]} {...props}> diff --git a/src/view/com/modals/report/ReportAccount.tsx b/src/view/com/modals/report/ReportAccount.tsx index 237f2dc5d..47d647870 100644 --- a/src/view/com/modals/report/ReportAccount.tsx +++ b/src/view/com/modals/report/ReportAccount.tsx @@ -1,5 +1,6 @@ import React, {useState, useMemo} from 'react' import {TouchableOpacity, StyleSheet, View} from 'react-native' +import {ScrollView} from 'react-native-gesture-handler' import {ComAtprotoModerationDefs} from '@atproto/api' import {useStores} from 'state/index' import {s} from 'lib/styles' @@ -13,7 +14,7 @@ import {isDesktopWeb} from 'platform/detection' import {SendReportButton} from './SendReportButton' import {InputIssueDetails} from './InputIssueDetails' -export const snapPoints = [400] +export const snapPoints = [500] export function Component({did}: {did: string}) { const store = useStores() @@ -56,7 +57,9 @@ export function Component({did}: {did: string}) { } return ( - + {showDetailsInput ? ( )} - + ) } @@ -176,5 +179,6 @@ const styles = StyleSheet.create({ addDetailsBtn: { padding: 14, alignSelf: 'center', + marginBottom: 40, }, }) diff --git a/src/view/com/modals/report/ReportPost.tsx b/src/view/com/modals/report/ReportPost.tsx index fe2a5bca4..34ec8c2f2 100644 --- a/src/view/com/modals/report/ReportPost.tsx +++ b/src/view/com/modals/report/ReportPost.tsx @@ -1,5 +1,6 @@ import React, {useState, useMemo} from 'react' import {Linking, StyleSheet, TouchableOpacity, View} from 'react-native' +import {ScrollView} from 'react-native-gesture-handler' import {ComAtprotoModerationDefs} from '@atproto/api' import {useStores} from 'state/index' import {s} from 'lib/styles' @@ -66,26 +67,28 @@ export function Component({ } return ( - - {showTextInput ? ( - - ) : ( - - )} - + + + {showTextInput ? ( + + ) : ( + + )} + + ) } @@ -232,6 +235,10 @@ const SelectIssue = ({ } const styles = StyleSheet.create({ + container: { + paddingHorizontal: 10, + paddingBottom: 40, + }, title: { textAlign: 'center', fontWeight: 'bold', diff --git a/src/view/com/search/HeaderWithInput.tsx b/src/view/com/search/HeaderWithInput.tsx index c51d4f709..0d65d98fd 100644 --- a/src/view/com/search/HeaderWithInput.tsx +++ b/src/view/com/search/HeaderWithInput.tsx @@ -150,7 +150,6 @@ const styles = StyleSheet.create({ fontSize: 17, }, headerCancelBtn: { - width: 60, paddingLeft: 10, }, diff --git a/src/view/com/util/forms/DropdownButton.tsx b/src/view/com/util/forms/DropdownButton.tsx index 064b8211b..c6e650077 100644 --- a/src/view/com/util/forms/DropdownButton.tsx +++ b/src/view/com/util/forms/DropdownButton.tsx @@ -344,9 +344,7 @@ const DropdownItems = ({ color={pal.text.color as string} /> )} - - {item.label} - + {item.label} ) } else if (isSep(item)) { -- cgit 1.4.1