diff --git a/components/email/email-list-item.tsx b/components/email/email-list-item.tsx index 5f782fe4..07de2c88 100644 --- a/components/email/email-list-item.tsx +++ b/components/email/email-list-item.tsx @@ -51,7 +51,8 @@ export function EmailListItem({ email, selected, onClick, onContextMenu, onToggl const sender = showRecipient ? (email.to?.[0] ?? email.from?.[0]) : email.from?.[0]; const isFocusedMailLayout = mailLayout === 'focus'; const hideJunkAvatarImages = currentMailboxRole === 'junk' && !showAvatarsInJunk; - const inlinePreview = showPreview && email.preview ? ` ${email.preview}` : ''; + const trimmedPreview = email.preview?.replace(/^\s+/, '') ?? ''; + const inlinePreview = showPreview && trimmedPreview ? ` ${trimmedPreview}` : ''; // Resolve color tags using keyword definitions from settings; unknown tags fall back to gray const colorTagIds = getEmailColorTags(email.keywords); @@ -295,7 +296,7 @@ export function EmailListItem({ email, selected, onClick, onContextMenu, onToggl ? "text-muted-foreground" : "text-muted-foreground/80" )}> - {email.preview || "No preview available"} + {trimmedPreview || "No preview available"}

)} diff --git a/components/email/thread-list-item.tsx b/components/email/thread-list-item.tsx index 3dfa42a2..9213ff16 100644 --- a/components/email/thread-list-item.tsx +++ b/components/email/thread-list-item.tsx @@ -71,7 +71,8 @@ const SingleEmailItem = React.forwardRef( const accountColor = email.accountId ? getAccountById(email.accountId)?.avatarColor : undefined; const isChecked = selectedEmailIds.has(email.id); const isFocusedMailLayout = mailLayout === 'focus'; - const inlinePreview = showPreview && email.preview ? ` ${email.preview}` : ''; + const trimmedPreview = email.preview?.replace(/^\s+/, '') ?? ''; + const inlinePreview = showPreview && trimmedPreview ? ` ${trimmedPreview}` : ''; // Resolve color tags using keyword definitions; unknown tags fall back to gray const tagIds = getEmailColorTags(email.keywords); @@ -316,7 +317,7 @@ const SingleEmailItem = React.forwardRef( ? "text-muted-foreground" : "text-muted-foreground/80" )}> - {email.preview || "No preview available"} + {trimmedPreview || "No preview available"}

)} @@ -366,7 +367,8 @@ export const ThreadListItem = React.forwardRef state.isMobile); const { latestEmail, participantNames, hasUnread, hasStarred, hasAttachment, hasAnswered, hasForwarded, emailCount } = thread; const isFocusedMailLayout = mailLayout === 'focus'; - const inlinePreview = showPreview && latestEmail.preview ? ` ${latestEmail.preview}` : ''; + const trimmedPreview = latestEmail.preview?.replace(/^\s+/, '') ?? ''; + const inlinePreview = showPreview && trimmedPreview ? ` ${trimmedPreview}` : ''; const { selectedMailbox, mailboxes, selectedEmailIds, toggleEmailSelection, selectRangeEmails, clearSelection, isUnifiedView } = useEmailStore(); const getAccountById = useAccountStore((state) => state.getAccountById); @@ -722,7 +724,7 @@ export const ThreadListItem = React.forwardRef - {latestEmail.preview || "No preview available"} + {trimmedPreview || "No preview available"}

)}