Merge branch experimental into main
This commit is contained in:
@@ -10,7 +10,7 @@ import { Button } from '@/components/ui/button';
|
|||||||
export function AdvancedSettings() {
|
export function AdvancedSettings() {
|
||||||
const t = useTranslations('settings.advanced');
|
const t = useTranslations('settings.advanced');
|
||||||
const tCommon = useTranslations('common');
|
const tCommon = useTranslations('common');
|
||||||
const { debugMode, settingsSyncDisabled, updateSetting, resetToDefaults, exportSettings, importSettings } =
|
const { debugMode, senderFavicons, settingsSyncDisabled, updateSetting, resetToDefaults, exportSettings, importSettings } =
|
||||||
useSettingsStore();
|
useSettingsStore();
|
||||||
const { settingsSyncEnabled } = useConfig();
|
const { settingsSyncEnabled } = useConfig();
|
||||||
const [showResetConfirm, setShowResetConfirm] = useState(false);
|
const [showResetConfirm, setShowResetConfirm] = useState(false);
|
||||||
@@ -75,6 +75,11 @@ export function AdvancedSettings() {
|
|||||||
</SettingItem>
|
</SettingItem>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
{/* Sender Favicons (Experimental) */}
|
||||||
|
<SettingItem label={t('sender_favicons.label')} description={t('sender_favicons.description')}>
|
||||||
|
<ToggleSwitch checked={senderFavicons} onChange={(checked) => updateSetting('senderFavicons', checked)} />
|
||||||
|
</SettingItem>
|
||||||
|
|
||||||
{/* Export Settings */}
|
{/* Export Settings */}
|
||||||
<SettingItem label={t('export_settings.label')} description={t('export_settings.description')}>
|
<SettingItem label={t('export_settings.label')} description={t('export_settings.description')}>
|
||||||
<Button variant="outline" size="sm" onClick={handleExport}>
|
<Button variant="outline" size="sm" onClick={handleExport}>
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ const IS_DEV = process.env.NODE_ENV !== "production";
|
|||||||
// Module-level cache of domains whose favicons failed to load.
|
// Module-level cache of domains whose favicons failed to load.
|
||||||
// Shared across all Avatar instances to avoid re-requesting known-bad domains.
|
// Shared across all Avatar instances to avoid re-requesting known-bad domains.
|
||||||
const failedFaviconDomains = new Set<string>();
|
const failedFaviconDomains = new Set<string>();
|
||||||
|
|
||||||
// Personal email domains where the favicon is the mail provider logo, not the sender
|
// Personal email domains where the favicon is the mail provider logo, not the sender
|
||||||
const PERSONAL_DOMAINS = new Set([
|
const PERSONAL_DOMAINS = new Set([
|
||||||
"gmail.com", "googlemail.com", "outlook.com", "hotmail.com", "live.com",
|
"gmail.com", "googlemail.com", "outlook.com", "hotmail.com", "live.com",
|
||||||
|
|||||||
@@ -802,6 +802,10 @@
|
|||||||
"label": "Debug-Modus",
|
"label": "Debug-Modus",
|
||||||
"description": "Detaillierte Protokollierung zur Fehlerbehebung aktivieren"
|
"description": "Detaillierte Protokollierung zur Fehlerbehebung aktivieren"
|
||||||
},
|
},
|
||||||
|
"sender_favicons": {
|
||||||
|
"label": "Absender-Favicons (Experimentell)",
|
||||||
|
"description": "Website-Symbole als Profilbilder für geschäftliche Absender anzeigen"
|
||||||
|
},
|
||||||
"keyboard_shortcuts": {
|
"keyboard_shortcuts": {
|
||||||
"label": "Tastaturkürzel",
|
"label": "Tastaturkürzel",
|
||||||
"description": "Verfügbare Tastaturkürzel anzeigen",
|
"description": "Verfügbare Tastaturkürzel anzeigen",
|
||||||
|
|||||||
@@ -857,6 +857,10 @@
|
|||||||
"label": "Settings Sync",
|
"label": "Settings Sync",
|
||||||
"description": "Sync your settings across browsers and devices"
|
"description": "Sync your settings across browsers and devices"
|
||||||
},
|
},
|
||||||
|
"sender_favicons": {
|
||||||
|
"label": "Sender Favicons (Experimental)",
|
||||||
|
"description": "Show website icons as profile pictures for business senders"
|
||||||
|
},
|
||||||
"keyboard_shortcuts": {
|
"keyboard_shortcuts": {
|
||||||
"label": "Keyboard Shortcuts",
|
"label": "Keyboard Shortcuts",
|
||||||
"description": "View available keyboard shortcuts",
|
"description": "View available keyboard shortcuts",
|
||||||
|
|||||||
@@ -802,6 +802,10 @@
|
|||||||
"label": "Modo de Depuración",
|
"label": "Modo de Depuración",
|
||||||
"description": "Habilitar registro detallado para solución de problemas"
|
"description": "Habilitar registro detallado para solución de problemas"
|
||||||
},
|
},
|
||||||
|
"sender_favicons": {
|
||||||
|
"label": "Favicons de remitente (Experimental)",
|
||||||
|
"description": "Mostrar iconos de sitios web como fotos de perfil para remitentes empresariales"
|
||||||
|
},
|
||||||
"keyboard_shortcuts": {
|
"keyboard_shortcuts": {
|
||||||
"label": "Atajos de Teclado",
|
"label": "Atajos de Teclado",
|
||||||
"description": "Ver atajos de teclado disponibles",
|
"description": "Ver atajos de teclado disponibles",
|
||||||
|
|||||||
@@ -802,6 +802,10 @@
|
|||||||
"label": "Mode débogage",
|
"label": "Mode débogage",
|
||||||
"description": "Activer la journalisation détaillée pour le dépannage"
|
"description": "Activer la journalisation détaillée pour le dépannage"
|
||||||
},
|
},
|
||||||
|
"sender_favicons": {
|
||||||
|
"label": "Favicons des expéditeurs (Expérimental)",
|
||||||
|
"description": "Afficher les icônes de sites web comme photos de profil pour les expéditeurs professionnels"
|
||||||
|
},
|
||||||
"keyboard_shortcuts": {
|
"keyboard_shortcuts": {
|
||||||
"label": "Raccourcis clavier",
|
"label": "Raccourcis clavier",
|
||||||
"description": "Voir les raccourcis clavier disponibles",
|
"description": "Voir les raccourcis clavier disponibles",
|
||||||
|
|||||||
@@ -802,6 +802,10 @@
|
|||||||
"label": "Modalità debug",
|
"label": "Modalità debug",
|
||||||
"description": "Abilita registrazione dettagliata per la risoluzione dei problemi"
|
"description": "Abilita registrazione dettagliata per la risoluzione dei problemi"
|
||||||
},
|
},
|
||||||
|
"sender_favicons": {
|
||||||
|
"label": "Favicon dei mittenti (Sperimentale)",
|
||||||
|
"description": "Mostra le icone dei siti web come immagini profilo per i mittenti aziendali"
|
||||||
|
},
|
||||||
"keyboard_shortcuts": {
|
"keyboard_shortcuts": {
|
||||||
"label": "Scorciatoie da tastiera",
|
"label": "Scorciatoie da tastiera",
|
||||||
"description": "Visualizza le scorciatoie da tastiera disponibili",
|
"description": "Visualizza le scorciatoie da tastiera disponibili",
|
||||||
|
|||||||
@@ -802,6 +802,10 @@
|
|||||||
"label": "デバッグモード",
|
"label": "デバッグモード",
|
||||||
"description": "トラブルシューティング用の詳細ログを有効化"
|
"description": "トラブルシューティング用の詳細ログを有効化"
|
||||||
},
|
},
|
||||||
|
"sender_favicons": {
|
||||||
|
"label": "送信者ファビコン(実験的)",
|
||||||
|
"description": "ビジネス送信者のプロフィール画像としてウェブサイトアイコンを表示"
|
||||||
|
},
|
||||||
"keyboard_shortcuts": {
|
"keyboard_shortcuts": {
|
||||||
"label": "キーボードショートカット",
|
"label": "キーボードショートカット",
|
||||||
"description": "利用可能なキーボードショートカットを表示",
|
"description": "利用可能なキーボードショートカットを表示",
|
||||||
|
|||||||
@@ -802,6 +802,10 @@
|
|||||||
"label": "Debugmodus",
|
"label": "Debugmodus",
|
||||||
"description": "Schakel gedetailleerde logging in voor probleemoplossing"
|
"description": "Schakel gedetailleerde logging in voor probleemoplossing"
|
||||||
},
|
},
|
||||||
|
"sender_favicons": {
|
||||||
|
"label": "Afzender-favicons (Experimenteel)",
|
||||||
|
"description": "Toon websitepictogrammen als profielfoto's voor zakelijke afzenders"
|
||||||
|
},
|
||||||
"keyboard_shortcuts": {
|
"keyboard_shortcuts": {
|
||||||
"label": "Sneltoetsen",
|
"label": "Sneltoetsen",
|
||||||
"description": "Bekijk beschikbare sneltoetsen",
|
"description": "Bekijk beschikbare sneltoetsen",
|
||||||
|
|||||||
@@ -802,6 +802,10 @@
|
|||||||
"label": "Modo de Depuração",
|
"label": "Modo de Depuração",
|
||||||
"description": "Habilitar registro detalhado para solução de problemas"
|
"description": "Habilitar registro detalhado para solução de problemas"
|
||||||
},
|
},
|
||||||
|
"sender_favicons": {
|
||||||
|
"label": "Favicons de remetente (Experimental)",
|
||||||
|
"description": "Exibir ícones de sites como fotos de perfil para remetentes empresariais"
|
||||||
|
},
|
||||||
"keyboard_shortcuts": {
|
"keyboard_shortcuts": {
|
||||||
"label": "Atalhos de Teclado",
|
"label": "Atalhos de Teclado",
|
||||||
"description": "Visualizar atalhos de teclado disponíveis",
|
"description": "Visualizar atalhos de teclado disponíveis",
|
||||||
|
|||||||
@@ -103,7 +103,6 @@ interface SettingsState {
|
|||||||
|
|
||||||
// Keywords (labels/tags)
|
// Keywords (labels/tags)
|
||||||
emailKeywords: KeywordDefinition[];
|
emailKeywords: KeywordDefinition[];
|
||||||
|
|
||||||
// Advanced
|
// Advanced
|
||||||
debugMode: boolean;
|
debugMode: boolean;
|
||||||
settingsSyncDisabled: boolean;
|
settingsSyncDisabled: boolean;
|
||||||
|
|||||||
Reference in New Issue
Block a user