"use client"; import { useState } from 'react'; import { useTranslations } from 'next-intl'; import { useSettingsStore } from '@/stores/settings-store'; import { SettingsSection, SettingItem, Select, ToggleSwitch } from './settings-section'; import { TrustedSendersModal } from '@/components/trusted-senders-modal'; import { ChevronRight, AlertTriangle } from 'lucide-react'; export function EmailSettings() { const t = useTranslations('settings.email_behavior'); const [showTrustedModal, setShowTrustedModal] = useState(false); const { markAsReadDelay, deleteAction, permanentlyDeleteJunk, showPreview, emailsPerPage, externalContentPolicy, mailAttachmentAction, emailAlwaysLightMode, trustedSenders, updateSetting, } = useSettingsStore(); // Get count label for trusted senders button const getTrustedSendersCount = () => { const count = trustedSenders.length; if (count === 0) return t('trusted_senders.count_zero'); if (count === 1) return t('trusted_senders.count_one'); return t('trusted_senders.count_other', { count }); }; return ( {/* Mark as Read */} updateSetting('deleteAction', value as 'trash' | 'permanent')} options={[ { value: 'trash', label: t('delete_action.trash') }, { value: 'permanent', label: t('delete_action.permanent') }, ]} /> {deleteAction === 'permanent' && (
{t('delete_action.warning')}
)}
{/* Permanently Delete Junk */} updateSetting('permanentlyDeleteJunk', checked)} /> {/* Show Preview */} updateSetting('showPreview', checked)} /> updateSetting('emailsPerPage', parseInt(value))} options={[ { value: '25', label: t('emails_per_page.25') }, { value: '50', label: t('emails_per_page.50') }, { value: '100', label: t('emails_per_page.100') }, ]} /> {/* Always Light Mode for Emails */} updateSetting('emailAlwaysLightMode', checked)} /> {/* External Content */}