refactor: Flex wrapper 마이그레이션 - #188
Conversation
…ion-user-active-cards
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Netlify preview check 실패는 이번 Flex 마이그레이션 변경 때문이라기보다 Netlify 쪽 설정/환경 문제로 보입니다. 확인한 실패 원인은 다음과 같습니다.
|
| direction="row" | ||
| gap="20px" | ||
| inline={true} | ||
| justify="stretch" |
There was a problem hiding this comment.
이 부분은 이번 Flex 마이그레이션과 무관한 기존 코드 인 걸로 보입니다. 머지 과정에서 실수로 빠진 거라면 복구 부탁드립니다.
There was a problem hiding this comment.
말씀 주신 부분 확인했습니다. 해당 justify="stretch"는 현재 프로젝트에서 사용하는 Flex 컴포넌트가 지원하는 유효한 CSS 값입니다.
Flex 컨테이너에서는 stretch와 기본값인 normal이 모두 시작점 정렬로 동작해 렌더링 결과는 같지만, 이번 마이그레이션 범위와 직접 관련 없는 변경이므로 기존 선언을 유지하는 것이 맞다고 판단했습니다. justify="stretch"는 복구하겠습니다.
|
|
||
| function UserCard({ | ||
| period, | ||
| period: _period, |
There was a problem hiding this comment.
이거 안쓰면, 그냥 인터페이스 수정하고, props 에 빼주시겠어요?
There was a problem hiding this comment.
맞습니다. 현재 UserCard에서 사용하지 않는 값인데 _period로 남겨 두었습니다. UserCardProps와 호출부, 테스트에서 period 전달을 제거하겠습니다.
|
|
||
| vi.mock('@/libs/assets/icons', () => ({ | ||
| UserIcon: ({ className }: { className?: string }) => ( | ||
| <svg aria-label="default user profile" className={className} /> |
There was a problem hiding this comment.
이 내용은 props와 무관하게 aria-label="default user profile"을 항상 렌더링해서,
아래에 있는,
expect(screen.getByLabelText('default user profile')).toBeInTheDocument();
에서 실제 UserIcon 의 접근성을 검증하지 못하고 있습니다
실제 코드에서 aria-label 값을 넘겨주도록 수정하시거나,
<UserIcon aria-label="default user profile" className={styles.userIcon} />
이 mock 을 패스 스루 해주시면 어떨까요?
UserIcon: (props: React.SVGProps<SVGSVGElement>) => <svg {...props} />,
There was a problem hiding this comment.
맞습니다. mock이 aria-label을 직접 만들어 실제 컴포넌트의 접근성 계약을 검증하지 못하고 있었습니다. fallback UserIcon에 aria-label을 명시하고, mock은 전달받은 props를 그대로 적용하도록 수정하겠습니다.
|
@G-hoon 님 피드백 반영 했습니다~ |
작업 내용
@sipe-team/side의Flex로 바로 옮길 수 있는 영역을 점진적으로 전환했습니다.UserCard,ActiveVideoCard의 wrapper 구조를Flex사용으로 정리했습니다.Button,SponsorImage,ActiveCard,RecruitBarChart,Recruit의 정적 flex wrapper를Flex로 이전했습니다.변경 범위
display,flex-direction,align-items,justify-content,gap,flex-wrap스타일을Flexprop으로 이동테스트 결과
Button,SponsorImage,ActiveCard,ActiveVideoCard,UserCard,RecruitBarChart,Recruit테스트로 주요 렌더링 계약을 확인했습니다.yarn test: 15개 테스트 파일 / 27개 테스트 통과남은 작업
Flex에서 responsive prop을 직접 다루기 전까지는 selector/반응형 의존 스타일을 SCSS에 유지하는 방향이 안전합니다.확인
yarn install --immutableyarn testgit diff --check