-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
모임 개설 대상 파트 Chip 으로 변경 #914
Conversation
|
@@ -135,8 +135,6 @@ export default function PostPage() { | |||
!!comment | |||
); | |||
|
|||
console.log({ comments }); | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
콘솔 제거 고마워~!
@@ -18,12 +18,11 @@ export const generationOptions = [ | |||
]; | |||
|
|||
export const parts = [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
요 options 의 part 는 여기에서만 쓰이는 아이일까? 다른 곳에서도 쓰인다면 그곳에서도 잘 동작하는지 확인이 필요할 거 같애~!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
edit
이랑 presentation
쪽에서만 쓰여!
edit
쪽 실행시켜봤는데 모임 수정 잘 되는 거 확인했오요!
const handleClick = (selectedOption: Option) => { | ||
let updatedParts = [...selectedParts]; | ||
|
||
// 'all' 옵션을 클릭했을 때 처리 | ||
if (selectedOption.value === 'all') { | ||
if (selectedParts.some(part => part.value === 'all')) { | ||
// 전체 옵션이 이미 선택되어 있으면 해제 | ||
updatedParts = []; | ||
} else { | ||
// 전체 옵션을 선택하면 모든 부분을 선택 | ||
updatedParts = parts; | ||
} | ||
} else { | ||
// 개별 옵션을 선택할 때 | ||
if (selectedParts.some(part => part.value === selectedOption.value)) { | ||
// 이미 선택된 항목이면 해제 | ||
updatedParts = updatedParts.filter(part => part.value !== selectedOption.value); | ||
} else { | ||
// 선택되지 않은 항목이면 추가 | ||
updatedParts.push(selectedOption); | ||
} | ||
|
||
// 개별 옵션 해제 시 전체 옵션도 해제 | ||
if (updatedParts.some(part => part.value === 'all') && updatedParts.length < parts.length) { | ||
updatedParts = updatedParts.filter(part => part.value !== 'all'); | ||
} | ||
|
||
// 모든 개별 파트가 선택되었으면 'all' 옵션도 활성화 | ||
if (updatedParts.length === parts.length - 1) { | ||
updatedParts.push(parts[0]); | ||
} | ||
} | ||
|
||
setSelectedParts(updatedParts); | ||
onChange(updatedParts); // 선택된 파트의 value만 전달 | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
코드가 조금 verbose 한 면이 있어서, 리팩토링을 해보면 좋을 것 같아! 지금 진이는, value 라는 사용자 입력 값을 useEffect 를 이용해서 지켜보면서, setState 를 해주고 있는데, 관점을 바꿔서 사용자 이벤트를 기반으로 리팩토링해보면 좋지 않을까 하는 생각이야~
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
좋은 피드백 고마오 !! 코드리뷰 반영했는데 한 번 확인해줄 수 있어 ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
훨씬 깔끔해진 거 같애! 충돌만 잡고 머지해보자~!
🚩 관련 이슈
📋 작업 내용
📌 PR Point
📸 스크린샷
2024-10-07.11.27.32.mov
Select 로 구현했을 때와 form에 넘어가는 데이터 구조 동일하게 유지