diff --git a/src/screens/ComposeScreen.tsx b/src/screens/ComposeScreen.tsx index e64c461c..7dc71bee 100644 --- a/src/screens/ComposeScreen.tsx +++ b/src/screens/ComposeScreen.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { View, Text, StyleSheet, TextInput, Pressable, ScrollView, - Keyboard, Platform, ActivityIndicator, Alert, Modal, Switch, + Keyboard, Platform, ActivityIndicator, Alert, Modal, Switch, useWindowDimensions, } from 'react-native'; import { SafeAreaView, useSafeAreaInsets } from 'react-native-safe-area-context'; import { usePreventRemove } from '@react-navigation/native'; @@ -664,6 +664,10 @@ export default function ComposeScreen({ route, navigation }: Props) { }); const editorRef = React.useRef(null); + // The label column grows with the system font size: at 1.3 "Betreff" + // wrapped into "Betref" / "f" in a fixed 56 dp column. + const { fontScale } = useWindowDimensions(); + const fieldLabelWidth = React.useMemo(() => ({ width: Math.round(56 * Math.max(1, fontScale)) }), [fontScale]); const subjectRef = React.useRef(null); const plainBodyRef = React.useRef(null); const [subjectFocused, setSubjectFocused] = React.useState(false); @@ -2213,7 +2217,7 @@ export default function ComposeScreen({ route, navigation }: Props) { const invalidInput = typedRecipients[field].invalid.length > 0 && !typedRecipients[field].valid.length && input.trim().length > 0 && activeField !== field; return ( - {label} + {label} {list.map((r, i) => ( - {t('email_composer.from', 'From')} + {t('email_composer.from', 'From')} - {t('email_composer.subject', 'Subject')} + {t('email_composer.subject', 'Subject')}