From 9ab79ef5079f3f9edcc74d92ce234746b583cd44 Mon Sep 17 00:00:00 2001 From: caadiq Date: Tue, 6 Jan 2026 08:09:17 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=BC=EC=A0=95=20=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=20=EA=B8=B0=EB=B3=B8=20=EB=82=A0=EC=A7=9C=20KST=20?= =?UTF-8?q?=EA=B8=B0=EC=A4=80=EC=9C=BC=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/pages/pc/Schedule.jsx | 12 +++++++++- frontend/src/pages/pc/admin/AdminSchedule.jsx | 24 +++++++++++++------ 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/frontend/src/pages/pc/Schedule.jsx b/frontend/src/pages/pc/Schedule.jsx index 3ae3fbe..1dbc4f1 100644 --- a/frontend/src/pages/pc/Schedule.jsx +++ b/frontend/src/pages/pc/Schedule.jsx @@ -5,13 +5,23 @@ import { Clock, ChevronLeft, ChevronRight, ChevronDown, Tag, Search, ArrowLeft } function Schedule() { const navigate = useNavigate(); + + // KST 기준 오늘 날짜 (YYYY-MM-DD) + const getTodayKST = () => { + const now = new Date(); + const kstOffset = 9 * 60 * 60 * 1000; // 9시간 + const kstDate = new Date(now.getTime() + kstOffset); + return kstDate.toISOString().split('T')[0]; + }; + const [currentDate, setCurrentDate] = useState(new Date()); - const [selectedDate, setSelectedDate] = useState(new Date().toISOString().split('T')[0]); // 오늘 기본값 + const [selectedDate, setSelectedDate] = useState(getTodayKST()); // KST 기준 오늘 const [showYearMonthPicker, setShowYearMonthPicker] = useState(false); const [viewMode, setViewMode] = useState('yearMonth'); const [slideDirection, setSlideDirection] = useState(0); const pickerRef = useRef(null); + // 데이터 상태 const [schedules, setSchedules] = useState([]); const [categories, setCategories] = useState([]); diff --git a/frontend/src/pages/pc/admin/AdminSchedule.jsx b/frontend/src/pages/pc/admin/AdminSchedule.jsx index eab7a5e..5759bac 100644 --- a/frontend/src/pages/pc/admin/AdminSchedule.jsx +++ b/frontend/src/pages/pc/admin/AdminSchedule.jsx @@ -10,17 +10,27 @@ import Tooltip from '../../../components/Tooltip'; function AdminSchedule() { const navigate = useNavigate(); + + // KST 기준 오늘 날짜 (YYYY-MM-DD) + const getTodayKST = () => { + const now = new Date(); + const kstOffset = 9 * 60 * 60 * 1000; + const kstDate = new Date(now.getTime() + kstOffset); + return kstDate.toISOString().split('T')[0]; + }; + const [loading, setLoading] = useState(false); const [user, setUser] = useState(null); const [toast, setToast] = useState(null); - const [searchInput, setSearchInput] = useState(''); // 입력 상태 - const [searchTerm, setSearchTerm] = useState(''); // 실제 검색어 (엔터 시 적용) - const [isSearchMode, setIsSearchMode] = useState(false); // 검색 모드 활성화 - const [searchResults, setSearchResults] = useState([]); // 검색 결과 (API 응답) - const [searchLoading, setSearchLoading] = useState(false); // 검색 로딩 - const [selectedCategories, setSelectedCategories] = useState([]); // 빈 배열 = 전체 - const [selectedDate, setSelectedDate] = useState(new Date().toISOString().split('T')[0]); + const [searchInput, setSearchInput] = useState(''); + const [searchTerm, setSearchTerm] = useState(''); + const [isSearchMode, setIsSearchMode] = useState(false); + const [searchResults, setSearchResults] = useState([]); + const [searchLoading, setSearchLoading] = useState(false); + const [selectedCategories, setSelectedCategories] = useState([]); + const [selectedDate, setSelectedDate] = useState(getTodayKST()); // KST 기준 오늘 const [currentDate, setCurrentDate] = useState(new Date()); + const [slideDirection, setSlideDirection] = useState(0); // 년월 선택 관련 (Schedule.jsx와 동일한 패턴)