fix: 피드백 수정#14
Conversation
캘린더 점 위치 수정
There was a problem hiding this comment.
Code Review
This pull request refactors the calendar date rendering in CalendarScheduleView.jsx by replacing pseudo-element schedule indicators with an explicit span element. The reviewer provided valuable feedback pointing out Tailwind CSS class conflicts and duplicate classes on the date buttons, along with a suggestion to adjust the schedule dot's positioning to a bottom-based offset for better responsiveness and alignment.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| className={[ | ||
| 'relative grid h-[31px] w-[34px] place-items-center text-[18px] font-normal leading-none sm:w-10 xl:h-[40px] xl:w-[40px]', | ||
| date.key === todayKey | ||
| ? 'h-10 w-10 rounded-[11px] bg-brand font-bold text-white shadow-schedule-day xl:h-10 xl:w-10 shadow-schedule-day' | ||
| : '', | ||
| date.key !== todayKey && !date.isCurrentMonth ? 'text-schedule-inactive' : '', | ||
| date.key !== todayKey && date.isCurrentMonth ? 'text-ink' : '', | ||
| ] | ||
| .filter(Boolean) | ||
| .join(' ')} |
There was a problem hiding this comment.
⚠️ Tailwind 클래스 충돌 및 중복 클래스 발견
- 클래스 충돌:
date.key === todayKey일 때, 기본 클래스의 크기(h-[31px] w-[34px] xl:h-[40px] xl:w-[40px])와 오늘 날짜 클래스의 크기(h-10 w-10 xl:h-10 xl:w-10)가 동시에 적용되어 Tailwind 클래스 충돌이 발생합니다. CSS 로드 순서에 따라 의도치 않은 크기로 렌더링될 수 있습니다. - 중복 클래스:
shadow-schedule-day클래스가 중복으로 선언되어 있습니다.
해결 방안:
오늘 날짜 여부(date.key === todayKey)에 따라 크기 관련 클래스를 분기 처리하여 충돌을 방지하고 중복 클래스를 제거합니다.
| className={[ | |
| 'relative grid h-[31px] w-[34px] place-items-center text-[18px] font-normal leading-none sm:w-10 xl:h-[40px] xl:w-[40px]', | |
| date.key === todayKey | |
| ? 'h-10 w-10 rounded-[11px] bg-brand font-bold text-white shadow-schedule-day xl:h-10 xl:w-10 shadow-schedule-day' | |
| : '', | |
| date.key !== todayKey && !date.isCurrentMonth ? 'text-schedule-inactive' : '', | |
| date.key !== todayKey && date.isCurrentMonth ? 'text-ink' : '', | |
| ] | |
| .filter(Boolean) | |
| .join(' ')} | |
| className={[ | |
| 'relative grid place-items-center text-[18px] font-normal leading-none', | |
| date.key === todayKey | |
| ? 'h-10 w-10 rounded-[11px] bg-brand font-bold text-white shadow-schedule-day xl:h-10 xl:w-10' | |
| : 'h-[31px] w-[34px] sm:w-10 xl:h-[40px] xl:w-[40px]', | |
| date.key !== todayKey && !date.isCurrentMonth ? 'text-schedule-inactive' : '', | |
| date.key !== todayKey && date.isCurrentMonth ? 'text-ink' : '', | |
| ] | |
| .filter(Boolean) | |
| .join(' ')} |
| {hasSchedule && ( | ||
| <span | ||
| aria-hidden="true" | ||
| className="absolute left-1/2 top-[-10px] h-2.5 w-2.5 -translate-x-1/2 rounded-full bg-brand" | ||
| /> | ||
| )} |
There was a problem hiding this comment.
📌 일정 표시 점(Dot)의 위치 설정 개선
top-[-10px] 클래스는 요소를 버튼의 상단 바깥쪽(위쪽)으로 위치시킵니다. 일반적으로 달력의 일정 표시 점은 날짜 아래에 위치하므로, 의도한 위치가 아래쪽이라면 bottom-[-6px] 또는 bottom-[-8px]과 같이 bottom 기준의 음수 오프셋을 사용하는 것이 적절합니다.
또한, bottom을 기준으로 설정하면 버튼의 높이가 화면 크기에 따라 변하더라도 (h-[31px] vs xl:h-[40px]) 항상 버튼 하단을 기준으로 일정 간격을 유지하므로 반응형 대응이 훨씬 수월해집니다.
추천:
의도한 디자인이 날짜 아래에 점이 위치하는 것이라면, top-[-10px] 대신 bottom-[-6px] 등을 사용하는 것을 권장합니다.
| {hasSchedule && ( | |
| <span | |
| aria-hidden="true" | |
| className="absolute left-1/2 top-[-10px] h-2.5 w-2.5 -translate-x-1/2 rounded-full bg-brand" | |
| /> | |
| )} | |
| {hasSchedule && ( | |
| <span | |
| aria-hidden="true" | |
| className="absolute left-1/2 bottom-[-6px] h-2.5 w-2.5 -translate-x-1/2 rounded-full bg-brand" | |
| /> | |
| )} |
중복 삭제
캘린더 점 위치 수정
📌 작업 내용
🔗 관련 이슈
📸 스크린샷 / 화면 녹화
🧪 테스트 방법
✅ 체크리스트
npm run lint통과를 확인했습니다npm run format을 적용했습니다console.log를 제거했습니다develop인지 확인했습니다💬 리뷰어에게 한 마디