일정 관리 상태 복원 로직 개선 - scheduleToast 기반 판별
- scheduleToast가 있을 때만 상태 복원 (일정 폼에서 돌아올 때) - 그 외에는 상태 초기화
This commit is contained in:
parent
026c68aa52
commit
a3573ec990
1 changed files with 6 additions and 4 deletions
|
|
@ -21,12 +21,14 @@ function AdminSchedule() {
|
||||||
};
|
};
|
||||||
|
|
||||||
// sessionStorage에서 저장된 상태 복원
|
// sessionStorage에서 저장된 상태 복원
|
||||||
// 새로고침이나 직접 URL 진입 시에는 복원하지 않음 (뒤로가기 등에서만 복원)
|
// 일정 추가/수정 후 돌아올 때만 복원 (scheduleToast가 있을 때)
|
||||||
|
// 새로고침이나 메뉴에서 직접 진입 시에는 초기화
|
||||||
const getStoredState = () => {
|
const getStoredState = () => {
|
||||||
try {
|
try {
|
||||||
// 새로고침이나 직접 진입인 경우 상태 초기화
|
// scheduleToast가 있으면 일정 폼에서 돌아온 것 -> 상태 유지
|
||||||
const navType = performance.getEntriesByType('navigation')[0]?.type;
|
const hasScheduleToast = sessionStorage.getItem('scheduleToast');
|
||||||
if (navType === 'reload' || navType === 'navigate') {
|
if (!hasScheduleToast) {
|
||||||
|
// 일정 폼에서 돌아온 게 아니면 상태 초기화
|
||||||
sessionStorage.removeItem('adminScheduleState');
|
sessionStorage.removeItem('adminScheduleState');
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue