@@ -20,6 +20,7 @@ import { useUserData } from "@/contexts/UserDataContext";
2020import BottomNav from "@/widgets/BottomNav" ;
2121import { FilterSheet } from "@/widgets/FilterSheet/FilterSheet" ;
2222import { useMonthEvents , useWeekEvents , useDayEvents } from "@/contexts/useCalendarEvents" ;
23+ import Modal from "@/widgets/Modal" ;
2324
2425const CalendarView = ( ) => {
2526 // EventContext
@@ -47,6 +48,9 @@ const CalendarView = () => {
4748 const [ showSideMonth , setShowSideMonth ] = useState < boolean > ( false ) ;
4849 const [ clickedDate , setClickedDate ] = useState < Date > ( new Date ( ) ) ;
4950
51+ // 로그인 모달
52+ const [ isLoginModalOpen , setIsLoginModalOpen ] = useState ( false ) ;
53+
5054 /** ---------------------- FETCH MONTH / WEEK / DAY data -------------------- */
5155
5256 const navigate = useNavigate ( ) ;
@@ -187,7 +191,7 @@ const CalendarView = () => {
187191 </ div >
188192 { showSideMonth && (
189193 < div className = { styles . sidePanel } ref = { sidePanelRef } >
190- < MonthSideView day = { clickedDate } onClose = { handleCloseSideMonth } />
194+ < MonthSideView day = { clickedDate } onClose = { handleCloseSideMonth } onLoginPrompt = { ( ) => setIsLoginModalOpen ( true ) } />
191195 </ div >
192196 ) }
193197
@@ -199,6 +203,18 @@ const CalendarView = () => {
199203 < DetailView eventId = { clickedEventId } />
200204 </ div >
201205 ) }
206+
207+ { isLoginModalOpen && (
208+ < Modal
209+ content = "로그인 이후 이용해주세요"
210+ leftText = "로그인"
211+ rightText = "닫기"
212+ onLeftClick = { ( ) => navigate ( "/" ) }
213+ onRightClick = { ( ) => setIsLoginModalOpen ( false ) }
214+ onClose = { ( ) => setIsLoginModalOpen ( false ) }
215+ />
216+ ) }
217+
202218 </ div >
203219 < FilterSheet />
204220 < BottomNav />
0 commit comments