import { useState, useEffect } from 'react'; import { useToast, inputStyle, pillBtn } from '../../teknav-ui.jsx'; import { adminApi } from '../lib/admin-api.js'; import { BRAND } from './Shared.jsx'; function NewsletterPanel() { const toast = useToast(); const [campaigns, setCampaigns] = useState([]); const [subscribers, setSubscribers] = useState([]); const [subject, setSubject] = useState(''); const [bodyHtml, setBodyHtml] = useState(''); const load = () => Promise.all([adminApi.listNewsletterCampaigns(), adminApi.listNewsletterSubscribers()]).then(([c, s]) => { setCampaigns(c); setSubscribers(s); }); useEffect(() => { load().catch(() => {}); }, []); const create = async (e) => { e.preventDefault(); await adminApi.createNewsletterCampaign({ subject, bodyHtml }); setSubject(''); setBodyHtml(''); toast('کمپین خبرنامه ذخیره شد'); load(); }; const send = async (id) => { await adminApi.sendNewsletterCampaign(id); toast('کمپین ارسال شد'); load(); }; return (