diff --git a/components/email/email-viewer.tsx b/components/email/email-viewer.tsx index 6fcb74ca..0bd76be0 100644 --- a/components/email/email-viewer.tsx +++ b/components/email/email-viewer.tsx @@ -1036,8 +1036,9 @@ export function EmailViewer({ return /prefers-color-scheme\s*:\s*dark/i.test(emailContent.html); }, [emailContent.html, emailContent.isHtml]); + const emailAlwaysLightMode = useSettingsStore((state) => state.emailAlwaysLightMode); const [emailViewDarkOverride, setEmailViewDarkOverride] = useState(null); - const isDark = emailViewDarkOverride !== null ? emailViewDarkOverride : resolvedTheme === 'dark'; + const isDark = emailAlwaysLightMode ? false : (emailViewDarkOverride !== null ? emailViewDarkOverride : resolvedTheme === 'dark'); const emailIframeSrcDoc = useMemo(() => { if (!emailContent.isHtml) return ''; diff --git a/components/email/thread-conversation-view.tsx b/components/email/thread-conversation-view.tsx index ada54a30..c35f72c7 100644 --- a/components/email/thread-conversation-view.tsx +++ b/components/email/thread-conversation-view.tsx @@ -225,6 +225,7 @@ function EmailCard({ const resolvedTheme = useThemeStore((state) => state.resolvedTheme); const density = useSettingsStore((state) => state.density); const mailAttachmentAction = useSettingsStore((state) => state.mailAttachmentAction); + const emailAlwaysLightMode = useSettingsStore((state) => state.emailAlwaysLightMode); const sender = email.from?.[0]; const isUnread = !email.keywords?.$seen; const isStarred = email.keywords?.$flagged; @@ -363,7 +364,7 @@ function EmailCard({ node.setAttribute('rel', 'noopener noreferrer'); } - if (resolvedTheme === 'dark') { + if (resolvedTheme === 'dark' && !emailAlwaysLightMode) { if (htmlNode.style) { const originalStyles = htmlNode.style.cssText; const transformedStyles = transformInlineStyles(originalStyles, 'dark'); @@ -415,7 +416,7 @@ function EmailCard({ } return { html: "", isHtml: false }; - }, [email, allowExternal, resolvedTheme, cidBlobUrls]); + }, [email, allowExternal, resolvedTheme, emailAlwaysLightMode, cidBlobUrls]); return (
+ {/* Always Light Mode for Emails */} + + updateSetting('emailAlwaysLightMode', checked)} + /> + + {/* External Content */}