-
Notifications
You must be signed in to change notification settings - Fork 4
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
[온보딩페이지] STEP01 이름 입력 컴포넌트 뷰 구현 & 나머지 단계 타이틀만 구현 #50
Conversation
안에 세부 인풋창을 어떻게 꾸며야할지 몰라서 여러 자료를 찾고 여러 시도를 하다 시간이 너무 지체되어 일단 타이틀만 구현하였습니다.
기능은 funnel 패턴을 구현하는 이슈에서 진행하겠습니다
세부적인 인풋창과 같은 속성들은 추후 구현하겠습니다
추후 가져다 쓰실 때 꼭 S.TitleWrapper로 감싸주시고 사용해주세요!!
최상위 컴포넌트인 OnBoardingPage에서 따로 Wrapper로 감싸주었습니다.
|
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.
공통으로 분리해주신 거랑 텍스트필드 코드 너무 감사해요!! 코멘트 남긴 자잘한 부분만 수정하면 될 것 같습니다! 고생하셨습니다!!!🙌
const SubTitle = (subTitleProps: SubTitleProps) => { | ||
return <S.SubTitle>{subTitleProps.subTitle}</S.SubTitle>; | ||
}; |
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.
구조 분해 할당을 사용하면 subTitleProps
를 통해서 가져올 필요 없이 바로 변수 불러올 수 있을 것 같습니다~!
SubTitle = ({subTitle}: SubTitleProps)
로 불러오면 <S.SubTitle>{subTitle}</S.SubTitle>;
로 쓸 수 있을 것 같습니다!
@@ -0,0 +1,12 @@ | |||
import styled from 'styled-components'; | |||
import theme from '../../../style/theme'; |
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.
이거 스니펫 익스텐션 써서 scpt
써서 리팩토링 하면 theme
import 필요 없어질 것 같아요!
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.
현재 계속 자동완성이 안되는 이슈로... 나중에 바꾸겠슴다 ㅎㅎ
width: 100%; | ||
border: none; | ||
display: flex; | ||
justify-content: center; | ||
align-items: flex-start; | ||
margin-top: 7.2rem; | ||
gap: 0.8rem; | ||
outline: none; | ||
border-bottom: 0.1rem solid ${theme.colors.G_02}; |
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.
여기 스타일 코드들 개행 해주면 나중에 찾아볼 때 더 편리할 것 같아요~!
분류기준에 참고하기 좋은 레퍼런스
자잘하게 쪼개면 오히려 번거로울 수도 있긴 해서 참고로 보고 정안님이 편리한 정도로만 구분하면 좋을 것 같아요!
<> | ||
<Title title='선물 토너먼트' /> | ||
<Title title='시작 일정을 설정해주세요' /> | ||
<SubTitle subTitle='너먼트 시작 전까지 선물을 등록할 수 있어요.' /> |
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.
수정하였습니다!!
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.
고생하셨습니다 :)
src/components/onboarding/Step01.tsx
Outdated
display: inline-flex; | ||
flex-direction: column; | ||
align-items: flex-start; |
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.
이거 저희 theme에서 mixin inlineFlexBox 사용해보면 될 것 같아용!
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.
습관이 참 무섭네요 ㅠ ㅋㅋㅋ mixin 바로 적용하겠슴다
interface SubTitleProps { | ||
subTitle: string; | ||
} |
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.
공통 컴포넌트 너무 좋아요! 고마워요!૮⑅ᐡ•ﻌ•ᐡა
color: ${theme.colors.B_01}; | ||
${theme.fonts.heading_01}; |
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.
theme import 말고
${({ theme }) => theme.fonts.Title};
이용해주시면 좋을 것 같아요! 왜냐묜 theme도 글로벌처럼 쓰이니까 import 하면 모호해질 것 같아요:)
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.
지금 자동완성이 안되는 이슈로... ㅎㅎ 추후 고치겠슴다!!
display: flex; | ||
justify-content: center; | ||
align-items: flex-start; |
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.
mixin flexbox! 요기 활용할 수 있을 것 같아요!
<Title title='선물 받을 분의' /> | ||
<Title title='이름, 혹은 닉네임을 알려주세요' /> |
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.
오옹! 중복되는 부분으로 공통 스타일을 뺀거군요! 너무 좋아요! 다만 걱정되는 부분은 title이 그저 span의 역할인거같은데 title이 적용돼서 가독성과 일관성이 떨어져 보이지 않을까? 하는 고민이 있습니다!
아니면 <br/>
이용해보는 것도 다른 방법일 것 같습니다!
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.
음 이 부분이 고민이 많이 되네요. 이걸 공통으로 뺐을때 과연 이게 최선일지는 ㅠㅠ 하지만 기능 구현에 우선순위를 두고 추후 리펙토리이 하는 방법도 있을 거 같아요
<Title title='선물 받을 분의' /> | ||
<Title title='이름, 혹은 닉네임을 알려주세요' /> |
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.
음 이 부분이 고민이 많이 되네요. 이걸 공통으로 뺐을때 과연 이게 최선일지는 ㅠㅠ 하지만 기능 구현에 우선순위를 두고 추후 리펙토리이 하는 방법도 있을 거 같아요
이슈 넘버
구현 사항
Need Review
온보딩 페이지에서 타이틀 부분은 공통으로 쓰이는 폰트 크기와 색깔이 있어서 따로 빼두었습니다.
그리고 아래와 같은 방식으로 구현하였습니다.
다만, STEP01은 인풋창까지 구현하였습니다.
현재 크롬 업데이트를 하지 않으면 한글을 입력했을 시 10글자 제한일 경우에 11글자까지 입력이 된다고 합니다. 크롬을 업데이트하면 해결이 된다고 하지만, 정규표현식으로 제한하여 구현하였습니다.
또한 placeholder 의 색상과 폰트를 변경하는 것도 구버전의 크롬 등에선 작동이 안된다고 하여 추가 로직 구현하였습니다.
또한 추후 useFunnel 훅을 위한 상수처리 할 값이 필요해서 core 폴더 안에 작성해놓았습니다.
📸 스크린샷
2024-01-09.3.59.32.mov
Reference
지민이를 위한 인풋값에 따른 색 변경 로직