import { useState, useEffect } from 'react'; import { useI18n } from '../context/I18nContext'; export default function NotificationMatrix() { const { t } = useI18n(); const [channels, setChannels] = useState({ whatsapp: true, telegram: true, signal: true, sms: true, email: true, postal: true }); const [warningMessage, setWarningMessage] = useState(null); const toggleChannel = (key) => { setChannels(prev => { const newState = { ...prev, [key]: !prev[key] }; // Zero-Escape Protocol Validation const activeOnlineChannels = ['whatsapp', 'telegram', 'signal', 'sms', 'email'].filter(c => newState[c]); if (activeOnlineChannels.length === 0) { // Blokir mutasi jika semua channel online dimatikan setWarningMessage('PROTOCOL ZERO-ESCAPE TERPICU: Anda wajib mengaktifkan minimal satu jalur notifikasi elektronik/online untuk memastikan penerimaan tagihan.'); return prev; } setWarningMessage(null); return newState; }); }; const channelInfo = [ { key: 'whatsapp', name: 'WhatsApp Business', desc: 'Notifikasi instan dengan verifikasi end-to-end terenkripsi.', icon: '💬', color: '#25D366' }, { key: 'telegram', name: 'Telegram Bot', desc: 'Integrasi notifikasi super-cepat ke perangkat seluler dan desktop.', icon: '✈️', color: '#0088cc' }, { key: 'signal', name: 'Signal Secure Messenger', desc: 'Protokol pengingat ultra-privasi tinggi.', icon: '🔒', color: '#3A76F0' }, { key: 'sms', name: 'SMS Gateway', desc: 'Pengingat fallback langsung ke nomor telepon seluler.', icon: '📱', color: '#ff9900' }, { key: 'email', name: 'E-Mail', desc: 'Pengiriman Invoice lengkap berformat PDF.', icon: '📧', color: '#ea4335' }, { key: 'postal', name: 'Surat Pos Fisik', desc: 'Pengiriman Invoice fisik tercetak ke alamat kantor terdaftar.', icon: '📮', color: '#888' }, ]; return (

Omni-Messenger Preferences

Sesuaikan jalur komunikasi tagihan sesuai tingkat kenyamanan operasional Anda.

{warningMessage && (
⚠️ {warningMessage}
)}
{channelInfo.map(ch => { const isActive = channels[ch.key]; return (
{ch.icon}

{ch.name}

{/* KINETIC TOGGLE SWITCH */}
toggleChannel(ch.key)} style={{ width: '50px', height: '26px', background: isActive ? ch.color : '#333', borderRadius: '13px', position: 'relative', cursor: 'pointer', transition: 'all 0.3s ease' }}>

{ch.desc}

STATUS: {isActive ? 'ACTIVE & ROUTED' : 'DEACTIVATED'}
); })}

The Omni-Messenger Guarantee

Sistem notifikasi Omni-Messenger memiliki protokol eskalasi otomatis. Jika pengiriman melalui metode utama (misal: Telegram) gagal diverifikasi (tidak ada *delivery receipt*), sistem akan secara otomatis melimpahkan pesan ke rute komunikasi *fallback* aktif Anda berikutnya untuk menjamin informasi tagihan Anda tidak terlewatkan.

); }