Conversation
* refactor: 로그인 시, 등록 페이지로 이동하도록 라우팅 경로 수정 * feat: 날짜만 조회 선택 후 확정 페이지 이동 시 ConfirmModal을 띄우도록 추가
* refactor: 코드 스타일 및 컨벤션 적용 - 접근 제어자 수정 - 메서드 순서 컨벤션 적용 - 메서드 최대 길이 컨벤션 적용 - 불필요한 공백 제거 * feat: 최소 시간 보장 정렬 기준 추가 * feat: 잘못된 최소 시간 입력시 예외 발생 로직 추가 * feat: 최소 시간 보장 추천 로직 추가 * refactor: 추천 요청 파라미터 값 객체화 및 최소 시간 검증 로직 추가 * fix(ScheduleRecommendRequest): minTime 을 입력 받지 않은 경우 0으로 초기화 * refactor: 최소 시간 기준 수정 및 불필요한 정렬조건 삭제 * refactor: 가독성 있는 분기문 수정 * refactor: 일반적으로 사용되는 메서드 명명법 수정
* chore: 서브모듈 업데이트 반영 - DEV WAS 마이그레이션에 따른 docker-compose-dev 홈 디렉토리 경로 변경 * chore(backend-dev-cd.yml): 그라파나 대시보드 데이터 저장을 위해 볼륨 분리 및 추가 --------- Co-authored-by: Eunhee Baek <78892355+ehBeak@users.noreply.github.com>
* refactor: 링크 경로 상수 수정 * refactor(useCalendar): 상수 훅 내부 이동 및 moveToNextMonth 내부 로직 수정 * test(useCalendar): 테스트 케이스 로직 수정 * test(useCalendar): 변경된 테스트 케이스 주석 추가
fix: 일정 생성 API 트랜잭션 격리 수준을 READ_COMMITTED 로 변경
* chore: dev cd 파이프라인 수정 * chore: prod cd 파이프라인 수정
* refactor: `MeetingTimeCard`컴포넌트 폴더 구조 수정 * refactor: MeetingRecommendCard 컴포넌트 분리 - Default, Checkbox 두 가지 형태로 분리 - DASYONLY, DATETIME 타입에 따라 컴포넌트 분리 * feat(date.util): 동일한 년/월/일 비교 로직 구현 * feat(useGetMeetingAttendeesQuery): 약속 총 인원 query 로직 분리 * refactor: RecommendCard 재사용 가능한 로직 추상화 및 분리 * refactor: 추천로직 30분 단위도 보여주도록 수정
* refactor: createPortal을 사용하는 것에서 부모 태그 위치를 기반으로 툴팁의 위치를 결정하도록 수정 * design: 약속 참여자 정보를 보여주는 툴팁 스타일 수정 * refactor: 툴팁 구조 수정 - 툴팁 컴포넌트가 툴팁의 내용을 children props로 받을 수 있도록 구조 수정 * design: 툴팁이 푸터를 가리는 문제를 해결하기 위해 z-index 추가 * refactor: 불필요한 스케쥴 테이블 재생성을 막기 위해 useMemo 추가 * chore: 사용하지 않는 모듈 제거 * refactor: 드래그가 종료 되었을 때, 현재 인덱스도 초기화하도록 수정 * refactor: let을 사용하지 않고, 더 선언적으로 사용자의 선택 위치를 파악하기 위한 로직으로 수정
chore: holidays-kr 라이브러리 업데이트
Test Results165 tests 165 ✅ 23s ⏱️ Results for commit 768a008. ♻️ This comment has been updated with latest results. |
There was a problem hiding this comment.
Pull request overview
This PR consolidates multiple updates that weren't previously merged, including UI improvements, bug fixes, refactoring, and infrastructure updates. The changes focus on improving the meeting recommendation system, fixing tooltip positioning issues, and updating deployment workflows.
Changes:
- Added minimum meeting time filtering functionality to the recommendation system
- Refactored and consolidated meeting recommendation card components
- Fixed tooltip positioning to use relative positioning instead of portal-based absolute positioning
- Updated GitHub Actions workflows for frontend deployment
Reviewed changes
Copilot reviewed 53 out of 55 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| frontend/src/utils/date.ts | Added Korean time formatting function and date comparison utility |
| frontend/src/stores/servers/meeting/queries.ts | Added query hook for fetching meeting attendees |
| frontend/src/pages/MeetingRecommendPage/index.tsx | Refactored to use new attendees query hook |
| frontend/src/pages/MeetingRecommendPage/components/MeetingTimeRecommends.tsx | Simplified to use unified MeetingRecommendCard component |
| frontend/src/pages/MeetingLinkSharePage/index.tsx | Fixed URL construction using window.location.origin |
| frontend/src/pages/MeetingConfirmPage/index.tsx | Refactored to use new attendees query hook |
| frontend/src/pages/MeetingConfirmPage/components/MeetingTimeOptions/index.tsx | Simplified to use unified recommendation checkbox card |
| frontend/src/hooks/useTimePick/useTimePick.utils.ts | Improved code clarity by restructuring conditional logic |
| frontend/src/hooks/useTimePick/useTimePick.ts | Added currentIndex reset on pointer end |
| frontend/src/hooks/useCalendar/useCalendar.ts | Moved constants inside hook to fix stale date reference |
| frontend/src/hooks/useCalendar/useCalendar.test.ts | Fixed test to properly verify 1-year range validation |
| frontend/src/components/_common/Tooltip/index.tsx | Refactored to use relative positioning instead of portal |
| frontend/src/components/_common/Tooltip/Tooltip.styles.ts | Updated positioning logic to support relative layout |
| frontend/src/components/Schedules/Schedules.styles.ts | Added z-index to fix tooltip layering issue |
| frontend/src/components/Schedules/ScheduleViewer/AllSchedules.tsx | Removed unused React import |
| frontend/src/components/Schedules/SchedulePicker/index.tsx | Wrapped schedule generation in useMemo for performance |
| frontend/src/components/MeetingTimeCard/*.tsx | Deleted old card components in favor of unified components |
| frontend/src/components/MeetingRecommendCard/*.tsx | Added new unified recommendation card components |
| frontend/src/components/MeetingConfirmCalendar/SingleDate/SingleDateViewer.tsx | Refactored to wrap date element with tooltip component |
| frontend/src/components/AttendeeTooltip/index.tsx | Updated to accept children and use outline instead of border |
| frontend/package.json | Updated holidays package to 2026 version |
| backend/src/main/java/kr/momo/service/schedule/ScheduleService.java | Added minimum time parameter to recommendation logic |
| backend/src/main/java/kr/momo/service/schedule/recommend/*.java | Updated recommenders to support minimum time filtering |
| backend/src/main/java/kr/momo/domain/schedule/recommend/CandidateSchedule.java | Added minimum size filtering to schedule merging |
| backend/src/main/java/kr/momo/controller/schedule/*.java | Updated API to use request DTO with validation |
| backend/src/test/java/**/*.java | Updated tests to include minimum time parameter |
| .github/workflows/frontend-*-cd.yml | Updated deployment workflows to use ubuntu-latest runner |
Files not reviewed (1)
- frontend/package-lock.json: Language not supported
Comments suppressed due to low confidence (1)
frontend/src/hooks/useCalendar/useCalendar.test.ts:1
- Corrected spelling of '13반' to '13번'
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| class TotalScheduleRecommenderTest { | ||
|
|
||
| @DisplayName("참여자의 부분집합 별 참여 가능 시간을 구한 뒤, " | ||
| @DisplayName("참여자의 부분 집합 별 참여 가능 시간을 구한 뒤, " |
There was a problem hiding this comment.
Corrected spacing in '부분 집합' - removed unnecessary space to match Korean spacing conventions
| @DisplayName("참여자의 부분 집합 별 참여 가능 시간을 구한 뒤, " | |
| @DisplayName("참여자의 부분집합 별 참여 가능 시간을 구한 뒤, " |
안올라가고 있던거 한꺼번에 합치기