Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
6dfe43b
feat: 친구 검색 API 연동 및 선택 아이디 관리
yeonjin719 May 14, 2026
24f1d4a
feat: 일정 저장 요청에 공유 친구 아이디 포함
yeonjin719 May 14, 2026
eb425e8
refactor: 반복 수정 범위 상수 분리
yeonjin719 May 16, 2026
3fc996d
refactor: 캘린더 시간 변경 로직 분리
yeonjin719 May 16, 2026
4fd5f26
fix: 일정 제목 검색 호출 간격 조정
yeonjin719 May 16, 2026
4aa1fc9
fix: 일정 기본 시간 범위 보정
yeonjin719 May 16, 2026
99d2e9b
fix: 공유 일정 초대자 상태 반영
yeonjin719 May 17, 2026
8e81e91
style: 초대된 친구 검색 결과 강조
yeonjin719 May 17, 2026
dba1c25
fix: 캘린더 일정 표시 데이터 정리
yeonjin719 May 17, 2026
59bd100
fix: 반복 옵션 선택 시 상세 패널 열기
yeonjin719 May 17, 2026
152faa6
refactor: 캘린더 컨트롤러 훅 분리
yeonjin719 May 17, 2026
6764842
refactor: 캘린더 뷰 계산 로직 분리
yeonjin719 May 17, 2026
0c99bf8
refactor: 에디터 폼 공통 로직 분리
yeonjin719 May 17, 2026
fae23cb
chore: 타입스크립트 경로 설정 정리
yeonjin719 May 17, 2026
6d22bf9
fix: 캘린더 이벤트 텍스트 말줄임 보정
yeonjin719 May 17, 2026
c258966
fix: 캘린더 기본 툴팁 비활성화
yeonjin719 May 17, 2026
d649cb8
feat: 일정 수정 API 공유 참여자 처리 방식 반영
yeonjin719 May 18, 2026
7f13e3d
feat: 비소유자 공유 일정 읽기 전용 처리 추가
yeonjin719 May 18, 2026
f69cf10
fix: 캘린더 직접 조작 시 비소유자 일정 수정 차단
yeonjin719 May 18, 2026
2fc796a
feat: 설정 기본 캘린더 보기 반영
yeonjin719 May 18, 2026
f7f9f50
fix: 단일 일정 반복 전환 scope 처리 수정
yeonjin719 May 18, 2026
5de8795
fix: 일정 수정 모달 변경 감지와 공유 친구 표시 개선
yeonjin719 May 18, 2026
9f37597
fix: 일정 footer 등록 무한 업데이트 방지
yeonjin719 May 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 7 additions & 15 deletions src/features/Calendar/components/CustomCalendar/CalendarModals.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import moment from 'moment'
import { useMemo, useState } from 'react'
import { useLocation } from 'react-router-dom'

import { useDetailEventQuery } from '@/shared/hooks/query/useCalendarQueries'
import type { CalendarEvent } from '@/shared/types/calendar/types'
Expand All @@ -8,26 +9,16 @@ import ScheduleEditorModal from '@/shared/ui/Modals/ScheduleEditor'
import TodoEditorModal from '@/shared/ui/Modals/TodoEditor'
import { buildDefaultItemEditorDraft } from '@/shared/utils'

import type { CalendarEventActions } from './CustomCalendar.types'

type CalendarModalsProps = {
modalDate: string
modalEventId: CalendarEvent['id'] | null
modalEvent: CalendarEvent | null
isModalEditing: boolean
modalMode: 'modal' | 'inline'
onCloseModal: () => void
eventActions: {
onEventColorChange: (eventId: CalendarEvent['id'], color: CalendarEvent['color']) => void
onEventTitleConfirm: (eventId: CalendarEvent['id'], title: CalendarEvent['title']) => void
onEventSharedChange: (eventId: CalendarEvent['id'], isShared: boolean) => void
onEventTypeChange: (eventId: CalendarEvent['id'], type: 'todo' | 'schedule') => void
onEventTimingChange: (
eventId: CalendarEvent['id'],
start: Date,
end: Date,
allDay: boolean,
occurrenceDate?: CalendarEvent['occurrenceDate'],
) => void
}
eventActions: CalendarEventActions
}

type DraftBackedModalProps = {
Expand All @@ -38,7 +29,7 @@ type DraftBackedModalProps = {
isModalEditing: boolean
modalMode: 'modal' | 'inline'
onCloseModal: () => void
eventActions: CalendarModalsProps['eventActions']
eventActions: CalendarEventActions
}

const DraftBackedModal = ({
Expand Down Expand Up @@ -108,7 +99,8 @@ const CalendarModals = ({
onCloseModal,
eventActions,
}: CalendarModalsProps) => {
const shouldRenderModal = modalEventId != null
const location = useLocation()
const shouldRenderModal = modalEventId != null && location.pathname.startsWith('/calendar')
const isTodoModal = modalEvent?.type === 'todo'
const safeDetailEventId = isModalEditing && !isTodoModal ? modalEventId : null
const occurrenceDate = useMemo(() => {
Expand Down
Loading
Loading