import { create } from "zustand"; // 일정 관리 페이지 상태 스토어 // 메모리 기반이므로 SPA 내 페이지 이동 시 유지, 새로고침 시 초기화 const useScheduleStore = create((set) => ({ // 검색 관련 searchInput: "", searchTerm: "", isSearchMode: false, // 필터 및 선택 selectedCategories: [], selectedDate: null, // null이면 getTodayKST() 사용 currentDate: new Date(), // 상태 업데이트 함수 setSearchInput: (value) => set({ searchInput: value }), setSearchTerm: (value) => set({ searchTerm: value }), setIsSearchMode: (value) => set({ isSearchMode: value }), setSelectedCategories: (value) => set({ selectedCategories: value }), setSelectedDate: (value) => set({ selectedDate: value }), setCurrentDate: (value) => set({ currentDate: value }), // 상태 초기화 reset: () => set({ searchInput: "", searchTerm: "", isSearchMode: false, selectedCategories: [], selectedDate: null, currentDate: new Date(), }), })); export default useScheduleStore;