diff --git a/frontend/messages/en.json b/frontend/messages/en.json index 17d961d..1ba5c04 100644 --- a/frontend/messages/en.json +++ b/frontend/messages/en.json @@ -120,5 +120,8 @@ "settings_export_error": "Failed to export settings.", "settings_import_success": "Settings imported successfully!", "settings_import_error": "Failed to import settings.", - "settings_import_invalid": "Invalid settings file." + "settings_import_invalid": "Invalid settings file.", + "settings_email_dark_viewer_label": "Dark theme for email content", + "settings_email_dark_viewer_hint": "Display email body with a dark background matching the app theme.", + "settings_email_dark_viewer_info": "Info: When disabled, emails will display with their original light background. Some emails may be designed for light backgrounds and look better with this disabled." } diff --git a/frontend/messages/it.json b/frontend/messages/it.json index 8f5380a..d97c67c 100644 --- a/frontend/messages/it.json +++ b/frontend/messages/it.json @@ -120,5 +120,8 @@ "settings_export_error": "Impossibile esportare le impostazioni.", "settings_import_success": "Impostazioni importate con successo!", "settings_import_error": "Impossibile importare le impostazioni.", - "settings_import_invalid": "File impostazioni non valido." + "settings_import_invalid": "File impostazioni non valido.", + "settings_email_dark_viewer_label": "Tema scuro per contenuto email", + "settings_email_dark_viewer_hint": "Visualizza il corpo dell'email con uno sfondo scuro che corrisponde al tema dell'app.", + "settings_email_dark_viewer_info": "Info: Quando disabilitato, le email verranno visualizzate con lo sfondo chiaro originale. Alcune email potrebbero essere progettate per sfondi chiari e apparire meglio con questa opzione disabilitata." } diff --git a/frontend/src/lib/components/MailViewer.svelte b/frontend/src/lib/components/MailViewer.svelte index 0ff604d..1957a1e 100644 --- a/frontend/src/lib/components/MailViewer.svelte +++ b/frontend/src/lib/components/MailViewer.svelte @@ -20,7 +20,8 @@ // Import refactored utilities import { - IFRAME_UTIL_HTML, + IFRAME_UTIL_HTML_DARK, + IFRAME_UTIL_HTML_LIGHT, CONTENT_TYPES, PEC_FILES, arrayBufferToBase64, @@ -33,6 +34,7 @@ processEmailBody, isEmailFile, } from '$lib/utils/mail'; + import { settingsStore } from '$lib/stores/settings.svelte'; // ============================================================================ // State @@ -42,6 +44,13 @@ let isLoading = $state(false); let loadingText = $state(''); + // Derived iframe HTML based on dark/light setting + let iframeUtilHtml = $derived( + settingsStore.settings.useDarkEmailViewer !== false + ? IFRAME_UTIL_HTML_DARK + : IFRAME_UTIL_HTML_LIGHT + ); + // ============================================================================ // Event Handlers // ============================================================================ @@ -347,9 +356,9 @@ -
+