import { useState, useEffect } from 'react'; import { Email } from '../services/email.service'; import { EmailTemplate } from '../types'; export function useEmailTemplate(emailService: Email, templateId: string) { const [template, setTemplate] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { try { const tmpl = emailService.getTemplate(templateId); if (tmpl) { setTemplate(tmpl); } else { setError(new Error(`Template '${templateId}' not found`)); } } catch (err: any) { setError(err); } finally { setLoading(false); } }, [emailService, templateId]); const reload = () => { setLoading(true); setError(null); try { const tmpl = emailService.getTemplate(templateId); if (tmpl) { setTemplate(tmpl); } else { setError(new Error(`Template '${templateId}' not found`)); } } catch (err: any) { setError(err); } finally { setLoading(false); } }; return { template, loading, error, reload, }; }