diff --git a/src/screens/EmailListScreen.tsx b/src/screens/EmailListScreen.tsx index a713daee..3c95066d 100644 --- a/src/screens/EmailListScreen.tsx +++ b/src/screens/EmailListScreen.tsx @@ -92,6 +92,7 @@ const EmailRow = React.memo(function EmailRow({ onLongPress={handleLongPress} delayLongPress={300} > + {unread && } {selectionMode && ( {selected ? ( @@ -1365,6 +1366,19 @@ function makeStyles(c: ThemePalette) { }, emailRowPressed: { backgroundColor: c.surface }, emailRowSelected: { backgroundColor: c.selection }, + // Mirrors the webmail's unread indicator: an 8px filled circle at the row's + // start edge, vertically centered (email-list-item.tsx, fill-unread). The + // weight/color change alone is too subtle on some device fonts (#27). + unreadDot: { + position: 'absolute', + left: 4, + top: '50%', + marginTop: -4, + width: 8, + height: 8, + borderRadius: 4, + backgroundColor: c.unread, + }, rowCheckboxWrap: { width: 16, height: componentSizes.avatarMd, diff --git a/src/screens/UnifiedInboxScreen.tsx b/src/screens/UnifiedInboxScreen.tsx index 9b4b0929..b5796730 100644 --- a/src/screens/UnifiedInboxScreen.tsx +++ b/src/screens/UnifiedInboxScreen.tsx @@ -96,6 +96,7 @@ export default function UnifiedInboxScreen({ navigation }: Props) { onPress={() => onOpen(item)} style={({ pressed }) => [styles.row, pressed && styles.rowPressed]} > + {unread && }