From 52eb18dc33632223490bacd9de370c143f8f9338 Mon Sep 17 00:00:00 2001
From: Linus Rath <139418639+rathlinus@users.noreply.github.com>
Date: Thu, 15 Oct 2026 03:37:58 +0200
Subject: [PATCH] fix: show unified inbox rows with the list's text size,
density and preview settings
---
src/screens/UnifiedInboxScreen.tsx | 26 ++++++++++++++++++--------
1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/src/screens/UnifiedInboxScreen.tsx b/src/screens/UnifiedInboxScreen.tsx
index 2dd4aada..5e68ace5 100644
--- a/src/screens/UnifiedInboxScreen.tsx
+++ b/src/screens/UnifiedInboxScreen.tsx
@@ -3,6 +3,7 @@ import {
View, Text, StyleSheet, FlatList, ActivityIndicator, Pressable, TextInput, Alert, AppState,
} from 'react-native';
import { SafeAreaView, useSafeAreaInsets } from 'react-native-safe-area-context';
+import { useDensity, useTypography } from '../theme/dynamic';
import { useFocusEffect } from '@react-navigation/native';
import {
ArrowLeft, Star, Paperclip, AlertTriangle, Search, X, Square, SquareCheck,
@@ -50,6 +51,9 @@ export default function UnifiedInboxScreen({ navigation, route }: Props) {
const styles = React.useMemo(() => makeStyles(c), [c]);
const t = useLocaleStore((s) => s.t);
const insets = useSafeAreaInsets();
+ const dyn = useTypography();
+ const density = useDensity();
+ const showPreview = useSettingsStore((s) => s.showPreview);
const role: UnifiedRole = route.params?.role ?? 'inbox';
const view: CrossView | undefined = route.params?.view;
const accounts = useAccountStore((s) => s.accounts);
@@ -321,7 +325,12 @@ export default function UnifiedInboxScreen({ navigation, route }: Props) {
onPress={() => (selectionMode ? toggleSelect(item) : onOpen(item))}
onLongPress={() => toggleSelect(item)}
delayLongPress={300}
- style={({ pressed }) => [styles.row, pressed && styles.rowPressed, isSelected && styles.rowSelected]}
+ style={({ pressed }) => [
+ styles.row,
+ { paddingVertical: density.rowPaddingVertical },
+ pressed && styles.rowPressed,
+ isSelected && styles.rowSelected,
+ ]}
>
{unread && }
{selectionMode && (
@@ -329,7 +338,7 @@ export default function UnifiedInboxScreen({ navigation, route }: Props) {
{isSelected ? : }
)}
-
+ {density.showAvatar &&
1 && (
)}
-
+ }
-
+
{senderName(item, showRecipient, t('email_viewer.unknown_sender', 'Unknown'))}
{starred && }
{item.hasAttachment && }
- {formatListDate(item.receivedAt, { dateFormat, timeFormat, locale, t })}
+ {formatListDate(item.receivedAt, { dateFormat, timeFormat, locale, t })}
-
+
{singleLine(item.subject) || t('email_viewer.no_subject', '(No Subject)')}
@@ -372,8 +381,9 @@ export default function UnifiedInboxScreen({ navigation, route }: Props) {
)}
- {item.preview ? (
- {singleLine(item.preview)}
+ {/* Same settings as the folder list: preview on/off, density, text size. */}
+ {item.preview && showPreview && density.showPreview ? (
+ {singleLine(item.preview)}
) : null}