diff --git a/frontend/src/admin/ProjectWritePage.tsx b/frontend/src/admin/ProjectWritePage.tsx index 589a097..18d8980 100644 --- a/frontend/src/admin/ProjectWritePage.tsx +++ b/frontend/src/admin/ProjectWritePage.tsx @@ -56,6 +56,13 @@ const EMPTY: ProjectDraft = { image: '', gallery: [], } +/** body ممکن است از ردیف‌های قدیمی/ناقص غیرآرایه باشد (مثلاً {} یا رشته) — همیشه آرایهٔ رشته */ +function asLines(value: unknown): string[] { + if (Array.isArray(value)) return value.map((line) => String(line)) + if (typeof value === 'string') return value.split('\n') + return [] +} + const INPUT = 'w-full border border-ivory/15 bg-char px-3 py-2 text-sm font-light text-ivory placeholder:text-ivory/30 focus:border-copper focus:outline-none' @@ -313,11 +320,11 @@ export function ProjectWritePage() { set('body', v.split('\n')), }} en={{ - value: draft.body_en.join('\n'), + value: asLines(draft.body_en).join('\n'), onChange: (v) => set('body_en', v.split('\n')), }} textarea @@ -335,7 +342,7 @@ export function ProjectWritePage() {