From e9897d416b3e7327bbd4d4aef887eee37751ae82 Mon Sep 17 00:00:00 2001 From: dujinkim Date: Fri, 27 Jun 2025 01:16:20 +0000 Subject: (대표님) 20250627 오전 10시 작업사항 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/mail/mail-template-editor-client.tsx | 255 ++++++++++++++++++++++++ 1 file changed, 255 insertions(+) create mode 100644 components/mail/mail-template-editor-client.tsx (limited to 'components/mail/mail-template-editor-client.tsx') diff --git a/components/mail/mail-template-editor-client.tsx b/components/mail/mail-template-editor-client.tsx new file mode 100644 index 00000000..dfbeb4e0 --- /dev/null +++ b/components/mail/mail-template-editor-client.tsx @@ -0,0 +1,255 @@ +'use client'; + +import { useState, useEffect, useTransition } from 'react'; +import { useRouter, useParams } from 'next/navigation'; +import { Button } from '@/components/ui/button'; +import { Label } from '@/components/ui/label'; +import { Textarea } from '@/components/ui/textarea'; +import { Save, Eye } from 'lucide-react'; +import { toast } from 'sonner'; +import Link from 'next/link'; +import { getTemplateAction, updateTemplateAction, previewTemplateAction, TemplateFile } from '@/lib/mail/service'; + +type Template = TemplateFile; + +interface MailTemplateEditorClientProps { + templateName: string; + initialTemplate?: Template | null; +} + +export default function MailTemplateEditorClient({ + templateName, + initialTemplate +}: MailTemplateEditorClientProps) { + const router = useRouter(); + const params = useParams(); + + const lng = (params?.lng as string) || 'ko'; + + const [template, setTemplate] = useState