diff --git a/frontend/src/pages/pc/admin/AdminSchedule.jsx b/frontend/src/pages/pc/admin/AdminSchedule.jsx index f7fc91f..64565c2 100644 --- a/frontend/src/pages/pc/admin/AdminSchedule.jsx +++ b/frontend/src/pages/pc/admin/AdminSchedule.jsx @@ -18,6 +18,14 @@ import { getTodayKST, formatDate } from '../../../utils/date'; import * as schedulesApi from '../../../api/admin/schedules'; import * as categoriesApi from '../../../api/admin/categories'; +// HTML 엔티티 디코딩 함수 +const decodeHtmlEntities = (text) => { + if (!text) return ''; + const textarea = document.createElement('textarea'); + textarea.innerHTML = text; + return textarea.value; +}; + // 일정 아이템 컴포넌트 - React.memo로 불필요한 리렌더링 방지 const ScheduleItem = memo(function ScheduleItem({ schedule, @@ -58,7 +66,7 @@ const ScheduleItem = memo(function ScheduleItem({ />
-

{schedule.title}

+

{decodeHtmlEntities(schedule.title)}

{schedule.time && ( @@ -564,7 +572,7 @@ function AdminSchedule() { }, [categories, categoryCounts]); return ( -
+
setToast(null)} /> {/* 삭제 확인 다이얼로그 */} @@ -589,7 +597,7 @@ function AdminSchedule() { {/* 메인 콘텐츠 */} -
+
{/* 브레드크럼 */}
@@ -1103,7 +1111,7 @@ function AdminSchedule() { />
-

{schedule.title}

+

{decodeHtmlEntities(schedule.title)}

{schedule.time && (