diff --git a/src/App.tsx b/src/App.tsx index e4fda6f..46b78bc 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -135,7 +135,6 @@ const AdminBroadcastDetail = lazyWithRetry(() => import('./pages/AdminBroadcastD const AdminPinnedMessages = lazyWithRetry(() => import('./pages/AdminPinnedMessages')); const AdminPinnedMessageCreate = lazyWithRetry(() => import('./pages/AdminPinnedMessageCreate')); const AdminChannelSubscriptions = lazyWithRetry(() => import('./pages/AdminChannelSubscriptions')); -const AdminEmailTemplatePreview = lazyWithRetry(() => import('./pages/AdminEmailTemplatePreview')); const AdminRoles = lazyWithRetry(() => import('./pages/AdminRoles')); const AdminRoleEdit = lazyWithRetry(() => import('./pages/AdminRoleEdit')); const AdminRoleAssign = lazyWithRetry(() => import('./pages/AdminRoleAssign')); @@ -1212,17 +1211,6 @@ function App() { } /> - - - - - - } - /> - {/* RBAC routes */} (); - const iframeRef = useRef(null); - - const [previewHtml, setPreviewHtml] = useState(''); - - // Get data from navigation state - const state = location.state as PreviewState | null; - - // Preview mutation - const { - mutate: loadPreview, - isPending: previewPending, - isError: previewError, - } = useMutation({ - mutationFn: () => { - if (!type || !lang || !state) { - throw new Error('Missing required data'); - } - return adminEmailTemplatesApi.previewTemplate(type, { - language: lang, - subject: state.subject, - body_html: state.body_html, - }); - }, - onSuccess: (data) => { - setPreviewHtml(data.body_html); - }, - }); - - // Load preview on mount - useEffect(() => { - if (!type || !lang || !state) { - navigate('/admin/email-templates'); - return; - } - loadPreview(); - }, [type, lang, state, navigate, loadPreview]); - - // Write preview HTML into iframe - useEffect(() => { - if (previewHtml && iframeRef.current) { - const doc = iframeRef.current.contentDocument; - if (doc) { - doc.open(); - doc.write(previewHtml); - doc.close(); - } - } - }, [previewHtml]); - - if (!type || !lang || !state) { - return null; - } - - return ( -
- {/* Header */} -
- -
-

{t('admin.emailTemplates.preview')}

-

- {type} / {lang.toUpperCase()} -

-
-
- - {/* Preview content */} -
- {previewPending ? ( -
-
-
- ) : previewError ? ( -
-

{t('common.error')}

- -
- ) : ( -