Skip to content

Conversation

@rabitis99
Copy link
Collaborator

@rabitis99 rabitis99 commented Jan 18, 2026

📝 PR 요약 (Summary)

여행 정보 수정 기능 추가 및 라우팅 구조 개선


🔗 관련 이슈 (Related Issues)

관련 이슈가 있다면 여기에 작성하세요.
Closes #16


🧩 변경 유형 (Change Type)

이 PR의 변경 사항에 해당하는 항목을 선택하세요.

  • 🚀 기능 추가 (Feature)
  • 🐛 버그 수정 (Bug Fix)
  • 🧰 코드 리팩토링 (Refactor)
  • 🧱 구조 개선 / 폴더 정리 (Structure)
  • 🧪 테스트 코드 추가 / 수정 (Test)
  • 📄 문서 수정 (Docs)
  • ♻️ 기타 (기타 작업)

🧾 주요 변경 내용 (What was changed)

구체적으로 어떤 코드/모듈이 수정되었는지 간단히 설명해주세요.

새로 추가된 파일

  • src/pages/EditTripPage.tsx - 여행 정보 수정 페이지
  • src/features/trip/components/TripForm/ - TripForm 컴포넌트 디렉토리로 분리
    • TripForm.tsx - 메인 폼 컴포넌트 (생성/수정 모드 지원)
    • TripTitleInput.tsx - 제목 입력 컴포넌트
    • TripRegionInput.tsx - 지역 입력 컴포넌트
    • TripPeriodSelector.tsx - 기간 선택 컴포넌트
    • TripDatePickerModal.tsx - 날짜 선택 모달
    • TripFolderSelect.tsx - 폴더 선택 컴포넌트
    • TripMemberInvite.tsx - 멤버 초대 컴포넌트
  • src/features/trip/types/trip.dto.ts - API 응답 DTO 타입 정의
  • src/features/trip/types/trip.payload.ts - API 요청 Payload 타입 정의

수정된 파일

  • src/app/App.tsx - 라우팅 구조 개선
    • /trips/:tripId/edit → 여행 정보 수정 페이지
    • /trips/:tripId/schedule → 일정 상세 페이지
    • /trips/:tripId/schedule/edit → 일정 수정 페이지
  • src/features/trip/api/trip.api.ts - API 함수 추가
    • getTripDetail() - 여행 상세 조회
    • updateTrip() - 여행 정보 수정
  • src/features/trip/types/trip.type.ts - 타입 개선
    • startDate, endDate nullable 처리
    • days 필드 추가
  • src/features/trip/components/TripCard.tsx - 수정/상세 보기 네비게이션 추가
  • src/features/trip/components/TripCoverUploader.tsx - defaultImage prop 지원
  • src/features/trip/hooks/useTripForm.ts - setForm 함수 export 추가
  • src/shared/config/pageConfig.ts - 라우팅 경로에 따른 페이지 설정 추가
  • src/pages/SchedulePage.tsx, ScheduleEditPage.tsx - 날짜 nullable 처리 및 라우팅 경로 업데이트

삭제된 파일

  • src/features/trip/components/TripForm.tsx - 디렉토리로 이동
  • src/features/trip/components/SectionField.tsx - TripForm 내부로 통합
  • src/features/trip/types/form.ts - DTO/Payload로 분리

🧪 테스트 및 검증 (Test)

테스트하거나 검증한 항목을 체크해주세요.

  • 로컬 환경에서 정상 작동 확인
  • 유닛 테스트 통과
  • 주요 시나리오 수동 검증 완료
  • 테스트 코드 추가 / 수정 완료

결과 요약:

여행 수정 페이지에서 기존 여행 정보 정상 로드 확인
여행 제목, 지역, 날짜, 커버 이미지 수정 후 저장 시 올바른 API 호출 확인
날짜 미정 상태(null) 처리 정상 동작 확인
라우팅 경로 변경에 따른 네비게이션 정상 동작 확인


✅ PR 체크리스트 (Checklist)

PR 제출 전 다음 항목을 확인하세요.

  • 커밋 메시지와 PR 제목이 명확함
  • 불필요한 주석 / 콘솔 로그 제거
  • 코드 포맷팅 완료 (Ctrl + Alt + L or Prettier)
  • 빌드 및 테스트 통과
  • 변경 사항이 팀 코딩 컨벤션을 준수함

💬 추가 참고사항 (Notes)

리뷰어에게 참고되거나 전달할 추가 사항이 있나요?

  • API는 아직 Mock 데이터 사용 중 (실제 API 연동은 추후 진행 예정)
  • TripForm 컴포넌트를 디렉토리 구조로 분리하여 재사용성 및 유지보수성 향상
  • 타입 구조를 DTO/Payload로 분리하여 API 계층과 UI 계층의 명확한 분리
  • 날짜 필드를 nullable로 변경하여 날짜 미정 상태 지원

- 여행 수정 페이지(EditTripPage) 추가
- 라우팅 구조 개선: 일정/여행 수정 분리
  - /trips/:tripId/edit: 여행 정보 수정
  - /trips/:tripId/schedule: 일정 상세
  - /trips/:tripId/schedule/edit: 일정 수정
- API 기능 추가: getTripDetail, updateTrip
- 타입 구조 개선: DTO/Payload 분리, form.ts 제거
- Trip 타입: startDate/endDate nullable, days 필드 추가
- TripForm 컴포넌트 디렉토리로 재구조화
- 날짜 nullable 처리 및 라우팅 경로 업데이트
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] 여행 정보 수정 기능 추가

2 participants