diff --git a/frontend/src/pages/pc/admin/AdminSchedule.jsx b/frontend/src/pages/pc/admin/AdminSchedule.jsx index a46b7ef..0e8dbb4 100644 --- a/frontend/src/pages/pc/admin/AdminSchedule.jsx +++ b/frontend/src/pages/pc/admin/AdminSchedule.jsx @@ -21,12 +21,14 @@ function AdminSchedule() { }; // sessionStorage에서 저장된 상태 복원 - // 새로고침이나 직접 URL 진입 시에는 복원하지 않음 (뒤로가기 등에서만 복원) + // 일정 추가/수정 후 돌아올 때만 복원 (scheduleToast가 있을 때) + // 새로고침이나 메뉴에서 직접 진입 시에는 초기화 const getStoredState = () => { try { - // 새로고침이나 직접 진입인 경우 상태 초기화 - const navType = performance.getEntriesByType('navigation')[0]?.type; - if (navType === 'reload' || navType === 'navigate') { + // scheduleToast가 있으면 일정 폼에서 돌아온 것 -> 상태 유지 + const hasScheduleToast = sessionStorage.getItem('scheduleToast'); + if (!hasScheduleToast) { + // 일정 폼에서 돌아온 게 아니면 상태 초기화 sessionStorage.removeItem('adminScheduleState'); return null; }