"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, showPreview, emailsPerPage, externalContentPolicy, 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')}
)}
{/* Show Preview */} updateSetting('showPreview', checked)} /> {/* Emails Per Page */} updateSetting('externalContentPolicy', value as 'ask' | 'block' | 'allow') } options={[ { value: 'ask', label: t('external_content.ask') }, { value: 'block', label: t('external_content.block') }, { value: 'allow', label: t('external_content.allow') }, ]} /> {/* Trusted Senders */} {/* Trusted Senders Modal */} setShowTrustedModal(false)} />
); }