"use client"; import { useEffect, 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 } from 'lucide-react'; import { usePolicyStore } from '@/stores/policy-store'; import { useContactStore } from '@/stores/contact-store'; import { useAuthStore } from '@/stores/auth-store'; export function ContentSendersSettings() { const t = useTranslations('settings.email_behavior'); const [showTrustedModal, setShowTrustedModal] = useState(false); const { isSettingLocked, isSettingHidden, isFeatureEnabled } = usePolicyStore(); const { externalContentPolicy, emailAlwaysLightMode, trustedSenders, trustedSendersAddressBook, updateSetting, } = useSettingsStore(); const { trustedSenderEmails, trustedSendersLoaded, loadTrustedSendersBook } = useContactStore(); const client = useAuthStore((state) => state.client); // Load the address book so the count reflects the synced senders, not 0. useEffect(() => { if (trustedSendersAddressBook && client && !trustedSendersLoaded) { loadTrustedSendersBook(client); } }, [trustedSendersAddressBook, client, trustedSendersLoaded, loadTrustedSendersBook]); const getTrustedSendersCount = () => { const count = trustedSendersAddressBook ? trustedSenderEmails.length : 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 ( {isFeatureEnabled('externalContentEnabled') && !isSettingHidden('externalContentPolicy') && (