임동욱 임동욱 08-21
feat: 금융쇼츠에서 전달 메시지(해설) 제거
기획에서 빠진 항목이다. 화면 칸, 값 타입, 필수 검증, 액션의 폼 읽기까지 함께
걷어낸다. 4컷만화는 기획에 그대로라 건드리지 않는다.

Co-Authored-By: Claude Opus 5 
@42b986f9fb8753561fdd955c9a56c8a3d5210183
app/(protected)/(basic)/contents/_actions.ts
--- app/(protected)/(basic)/contents/_actions.ts
+++ app/(protected)/(basic)/contents/_actions.ts
@@ -148,7 +148,6 @@
     title: readString(formData, 'title'),
     subject: readString(formData, 'subject'),
     keywords: readKeywords(formData),
-    message: readString(formData, 'message'),
     videoFileId: readString(formData, 'videoFileId'),
     thumbnailFileId: readString(formData, 'thumbnailFileId'),
     isVisible: readString(formData, 'isVisible') === 'true',
app/(protected)/(basic)/contents/shorts/_components/shorts-form.tsx
--- app/(protected)/(basic)/contents/shorts/_components/shorts-form.tsx
+++ app/(protected)/(basic)/contents/shorts/_components/shorts-form.tsx
@@ -5,7 +5,6 @@
 import { FoxHelperText } from '@fox/core/components/fox-helper-text';
 import { FoxInput } from '@fox/core/components/fox-input';
 import { FoxPageHeader } from '@fox/core/components/fox-page-header';
-import { FoxTextArea } from '@fox/core/components/fox-text-area';
 import { submitFormAction } from '@/app/_hooks/submit-form-action';
 import {
   THUMBNAIL_HELP_TEXT,
@@ -14,7 +13,6 @@
 } from '@/lib/domain/content';
 import {
   INITIAL_CONTENT_FORM_STATE,
-  MESSAGE_MAX_LENGTH,
   SUBJECT_MAX_LENGTH,
   TITLE_MAX_LENGTH,
 } from '@/lib/domain/content-form';
@@ -111,20 +109,6 @@
           <ContentKeywordField
             defaultKeywords={item?.keywords}
             error={errors.keywords}
-          />
-        </ContentFormRow>
-
-        <ContentFormRow label="전달 메시지(해설)" required>
-          <FoxTextArea
-            name="message"
-            aria-label="전달 메시지(해설)"
-            defaultValue={item?.message ?? ''}
-            rows={4}
-            placeholder="내용을 입력하세요."
-            maxLength={MESSAGE_MAX_LENGTH}
-            counter
-            invalid={Boolean(errors.message)}
-            message={errors.message}
           />
         </ContentFormRow>
 
lib/domain/content-form.ts
--- lib/domain/content-form.ts
+++ lib/domain/content-form.ts
@@ -56,11 +56,11 @@
   gradesBySchool: GradesBySchool;
 };
 
+// 전달 메시지(해설)는 기획에서 빠졌다 — 만화는 그대로라 그쪽에만 남는다.
 export type ShortsFormValues = GradeSelection & {
   title: string;
   subject: string;
   keywords: ContentKeyword[];
-  message: string;
   videoFileId: string;
   thumbnailFileId: string;
   isVisible: boolean;
@@ -175,13 +175,6 @@
     '제목을 입력해 주세요.',
     errors
   );
-  const message = requireText(
-    values.message,
-    MESSAGE_MAX_LENGTH,
-    'message',
-    '전달 메시지(해설)를 입력해 주세요.',
-    errors
-  );
   const keywords = normalizeKeywords(values.keywords);
   validateKeywords(keywords, errors);
 
@@ -194,7 +187,6 @@
       ...values,
       title,
       subject: values.subject.trim().slice(0, SUBJECT_MAX_LENGTH),
-      message,
       keywords,
     },
   };
Add a comment
List