From e463a3d689cbcc062b4927aaaf388e4f6691fb22 Mon Sep 17 00:00:00 2001 From: Gwak-Seungju <74342515+Gwak-Seungju@users.noreply.github.com> Date: Sat, 30 Nov 2024 18:20:54 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=8B=9C=EA=B0=84=ED=91=9C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=ED=95=98=EB=A9=B4=20=EB=A9=94=EC=9D=B8=EC=8B=9C?= =?UTF-8?q?=EA=B0=84=ED=91=9C=EB=A1=9C=EB=A7=8C=20=EB=8F=8C=EC=95=84?= =?UTF-8?q?=EA=B0=80=EB=8A=94=20=ED=98=84=EC=83=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TimetablePage/MainTimetablePage/index.tsx | 27 +++++++++++-------- .../ModifyTimetablePage/DefaultPage/index.tsx | 2 +- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/pages/TimetablePage/MainTimetablePage/index.tsx b/src/pages/TimetablePage/MainTimetablePage/index.tsx index 2497367de..486e82b7e 100644 --- a/src/pages/TimetablePage/MainTimetablePage/index.tsx +++ b/src/pages/TimetablePage/MainTimetablePage/index.tsx @@ -5,6 +5,7 @@ import useTimetableFrameList from 'pages/TimetablePage/hooks/useTimetableFrameLi import useMediaQuery from 'utils/hooks/layout/useMediaQuery'; import useScrollToTop from 'utils/hooks/ui/useScrollToTop'; import useTokenState from 'utils/hooks/state/useTokenState'; +import { useLocation } from 'react-router-dom'; import DefaultPage from './DefaultPage'; import styles from './TimetablePage.module.scss'; @@ -13,21 +14,25 @@ function TimetablePage() { useScrollToTop(); const token = useTokenState(); const semester = useSemester(); - const [currentFrameIndex, setCurrentFrameIndex] = React.useState(0); + const location = useLocation(); const { data: timetableFrameList } = useTimetableFrameList(token, semester); - sessionStorage.setItem('enterTimetablePage', new Date().getTime().toString()); + const mainFrame = timetableFrameList.find( + (frame) => frame.is_main === true, + ); + const [currentFrameIndex, setCurrentFrameIndex] = React.useState( + mainFrame?.id ? mainFrame.id : 0, + ); React.useEffect(() => { - if (timetableFrameList) { - const mainFrame = timetableFrameList.find( - (frame) => frame.is_main === true, - ); - if (mainFrame && mainFrame.id) { - setCurrentFrameIndex(mainFrame.id); - } + if (location.state?.frameId) { + setCurrentFrameIndex(Number(location.state?.frameId)); + } else { + setCurrentFrameIndex(mainFrame?.id ? mainFrame.id : 0); } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [semester]); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + sessionStorage.setItem('enterTimetablePage', new Date().getTime().toString()); return (