diff --git a/frontend/src/pages/pc/admin/AdminSchedule.jsx b/frontend/src/pages/pc/admin/AdminSchedule.jsx index b13dec7..f7fc91f 100644 --- a/frontend/src/pages/pc/admin/AdminSchedule.jsx +++ b/frontend/src/pages/pc/admin/AdminSchedule.jsx @@ -136,8 +136,6 @@ function AdminSchedule() { selectedDate, setSelectedDate, currentDate, setCurrentDate, scrollPosition, setScrollPosition, - preserveState, setPreserveState, - reset, } = useScheduleStore(); // 로컬 상태 (페이지 이동 시 유지할 필요 없는 것들) @@ -193,18 +191,10 @@ function AdminSchedule() { } }, [inView, hasNextPage, isFetchingNextPage, fetchNextPage, isSearchMode, searchTerm]); - // 페이지 진입 시 상태 초기화 (preserveState가 false인 경우만) + // selectedDate가 없으면 오늘 날짜로 초기화 useEffect(() => { - if (preserveState) { - // 일정 추가/수정, 봇 관리에서 돌아온 경우 - 플래그만 리셋 - setPreserveState(false); - } else { - // 다른 페이지에서 돌아온 경우 - 오늘 날짜로 초기화 + if (!selectedDate) { setSelectedDate(getTodayKST()); - setCurrentDate(new Date()); - setSearchInput(''); - setSearchTerm(''); - setIsSearchMode(false); } }, []); diff --git a/frontend/src/pages/pc/admin/AdminScheduleBots.jsx b/frontend/src/pages/pc/admin/AdminScheduleBots.jsx index ab96903..1a4c6f3 100644 --- a/frontend/src/pages/pc/admin/AdminScheduleBots.jsx +++ b/frontend/src/pages/pc/admin/AdminScheduleBots.jsx @@ -9,12 +9,10 @@ import Toast from '../../../components/Toast'; import Tooltip from '../../../components/Tooltip'; import AdminHeader from '../../../components/admin/AdminHeader'; import useToast from '../../../hooks/useToast'; -import useScheduleStore from '../../../stores/useScheduleStore'; import * as botsApi from '../../../api/admin/bots'; function AdminScheduleBots() { const navigate = useNavigate(); - const { setPreserveState } = useScheduleStore(); const [user, setUser] = useState(null); const { toast, setToast } = useToast(); const [bots, setBots] = useState([]); @@ -200,12 +198,9 @@ function AdminScheduleBots() { - { setPreserveState(true); navigate('/admin/schedule'); }} - className="hover:text-primary transition-colors" - > + 일정 관리 - + 봇 관리 diff --git a/frontend/src/pages/pc/admin/AdminScheduleForm.jsx b/frontend/src/pages/pc/admin/AdminScheduleForm.jsx index c4606b2..d91a3d4 100644 --- a/frontend/src/pages/pc/admin/AdminScheduleForm.jsx +++ b/frontend/src/pages/pc/admin/AdminScheduleForm.jsx @@ -29,7 +29,6 @@ import CustomTimePicker from "../../../components/admin/CustomTimePicker"; import AdminHeader from "../../../components/admin/AdminHeader"; import ConfirmDialog from "../../../components/admin/ConfirmDialog"; import useToast from "../../../hooks/useToast"; -import useScheduleStore from "../../../stores/useScheduleStore"; import * as authApi from "../../../api/admin/auth"; import * as categoriesApi from "../../../api/admin/categories"; import * as schedulesApi from "../../../api/admin/schedules"; @@ -37,7 +36,6 @@ import { getMembers } from "../../../api/public/members"; function AdminScheduleForm() { const navigate = useNavigate(); - const { setPreserveState } = useScheduleStore(); const { id } = useParams(); const isEditMode = !!id; @@ -497,7 +495,6 @@ function AdminScheduleForm() { : "일정이 추가되었습니다.", }) ); - setPreserveState(true); navigate("/admin/schedule"); } catch (error) { console.error("일정 저장 오류:", error); @@ -681,12 +678,12 @@ function AdminScheduleForm() { - { setPreserveState(true); navigate('/admin/schedule'); }} + 일정 관리 - + {isEditMode ? "일정 수정" : "일정 추가"} @@ -1158,7 +1155,7 @@ function AdminScheduleForm() { { setPreserveState(true); navigate("/admin/schedule"); }} + onClick={() => navigate("/admin/schedule")} className="px-6 py-3 text-gray-700 hover:bg-gray-100 rounded-xl transition-colors font-medium" > 취소 diff --git a/frontend/src/stores/useScheduleStore.js b/frontend/src/stores/useScheduleStore.js index 2400b9c..42caef5 100644 --- a/frontend/src/stores/useScheduleStore.js +++ b/frontend/src/stores/useScheduleStore.js @@ -16,9 +16,6 @@ const useScheduleStore = create((set) => ({ // 스크롤 위치 scrollPosition: 0, - // 상태 유지 플래그 (일정 추가/수정, 봇 관리 페이지에서 돌아올 때만 true) - preserveState: false, - // 상태 업데이트 함수 setSearchInput: (value) => set({ searchInput: value }), setSearchTerm: (value) => set({ searchTerm: value }), @@ -27,7 +24,6 @@ const useScheduleStore = create((set) => ({ setSelectedDate: (value) => set({ selectedDate: value }), setCurrentDate: (value) => set({ currentDate: value }), setScrollPosition: (value) => set({ scrollPosition: value }), - setPreserveState: (value) => set({ preserveState: value }), // 상태 초기화 reset: () => @@ -39,7 +35,6 @@ const useScheduleStore = create((set) => ({ selectedDate: null, currentDate: new Date(), scrollPosition: 0, - preserveState: false, }), }));