-
Notifications
You must be signed in to change notification settings - Fork 5
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
[FE] 참여자 입금 상태, 참여자 이름 Chip 컴포넌트 구현 #570
Conversation
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.
이 컴포넌트를 만들어야하는 이유에 대해서 잘 설명해주어서 좋았어요 소이 햐
현재 행동대장에서 사용하는 icon들은 모두 Icon 컴포넌트에 넣어서 사용하고 있습니다.
통일성을 챙겨주신 것 좋아요좋아요!~~
'.deposit-check-text': { | ||
color: isDeposited ? theme.colors.primary : theme.colors.gray, | ||
paddingTop: '0.0625rem', | ||
}, |
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.
이런 식으로도 스타일을 적용할 수 있군요! NEW지식 습득.. 그런데 혹시 클래스로 스타일을 적용한 이유가 있을까요 ?! 제 추측으로는 하나의 css로 자식에 있는 Text까지 스타일을 적용하려고 해서 나눠진 것 같은데욧. color는 Text 컴포넌트에 준비되어있는 컬러 props를 사용하는 건 어떨지 제안드려봅니다!~ 굳이 싶다면 pass~~~!!
import {DepositCheckStyle} from './DepositCheck.style'; | ||
import {DepositCheckProps} from './DepositCheck.type'; | ||
|
||
const DepositCheck: React.FC<DepositCheckProps> = ({isDeposited = false}: DepositCheckProps) => { |
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.
꼼꼼한 default ~~ 👍
@@ -0,0 +1,21 @@ | |||
import {css} from '@emotion/react'; | |||
|
|||
import {WithTheme} from '@components/Design/type/withTheme'; |
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.
활용해주어서 고마어용~~
사실은 이런 타입 만든게 반복되니까 하나로 뭉쳐서 쓰자가 목적이었는데요. 이번에 용어 정리를 하면서 eventId -> eventToken으로 바뀌게 되었어요. 그리고 이 eventId라는 프로퍼티도 WIthEventId라는 타입으로 WithEvent와 동일한 형태로 사용할 수 있었는데요. 한번에 바꿀 수 있다는 점에서 유용함을 느꼈씁니다.!!
export interface DepositCheckStyleProps { | ||
isDeposited: boolean; | ||
} | ||
|
||
export interface DepositCheckCustomProps { | ||
isDeposited: boolean; | ||
} | ||
|
||
export type DepositCheckOptionProps = DepositCheckStyleProps & DepositCheckCustomProps; |
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.
isDeposited 프로퍼티가 DepositCheckStyleProps와 DepositCheckCustomProps에도 존재하는데 둘을 다시 &로 얽는게 혼란스러울 수도 있을 것 같은데요.
다른 방법을 생각해보자면 style에도 필요하고 이 컴포넌트가 받는 props에도 필요하다면 With~처럼 타입을 만들어서 사용해도 좋을 것 같구요.
@@ -13,7 +13,7 @@ const meta = { | |||
iconType: { | |||
description: '', | |||
control: {type: 'select'}, | |||
options: ['inputDelete', 'buljusa', 'rightChevron', 'search', 'confirm', 'error', 'trash'], | |||
options: ['inputDelete', 'buljusa', 'rightChevron', 'search', 'confirm', 'error', 'trash', 'check', 'x'], |
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.
export type IconType = | ||
| 'inputDelete' | ||
| 'buljusa' | ||
| 'rightChevron' | ||
| 'search' | ||
| 'error' | ||
| 'confirm' | ||
| 'trash' | ||
| 'check' | ||
| 'x'; |
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.
이건 그냥 든 생각인데요.
아이콘이 많아지면 이렇게 타입을 나열하기도 쉽지 않을 것 같아요. 너무 길어서 읽기가 힘드니까요. 뭔가 style, custom 이렇게 나누는 것처럼 아이콘의 타입을 나눠서 할 수도 있으려나요....
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.
웨디가 너무 질문을 잘 해줘서 코멘트는 별로 없네요;;
이제 이 컴포넌트를 잘 이식해볼게요!
그 전에 ci test 터지는 것 해결해주시면 좋을 것 같아요!
고생하셨습니다😊😊
@@ -0,0 +1,21 @@ | |||
import {css} from '@emotion/react'; | |||
|
|||
import {WithTheme} from '@components/Design/type/withTheme'; |
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.
오..! 이런 것도 있었구나. 모르고 있었는데 활용하면 너무 좋을 것 같아요!
@@ -13,7 +13,7 @@ const meta = { | |||
iconType: { | |||
description: '', | |||
control: {type: 'select'}, | |||
options: ['inputDelete', 'buljusa', 'rightChevron', 'search', 'confirm', 'error', 'trash'], | |||
options: ['inputDelete', 'buljusa', 'rightChevron', 'search', 'confirm', 'error', 'trash', 'check', 'x'], |
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.
나중의 일이지만 사용하지 않는 아이콘 정리해봐도 좋을 것 같아요!
issue
구현 사항
구현 목적
참여자의 입금 상태를 관리하는 기능이 추가됩니다. 이때, ‘홈’에서 참여자의 입금 상태를 나타내는 Chip이 필요하여 DepositCheck 컴포넌트를 구현했습니다.
원래는 Chip 컴포넌트를 만들어서 type으로 DepositCheck과 Name (정산 내역에서 해당 지출에 참여하고 있는 인원을 나타내는 Chip)을 나눠서 구현하려고 했습니다.
그러나, 토다리가 ‘홈’을 제작하면서 Name Chip을 만들었기에 저는 Chip 컴포넌트가 아닌 DepositCheck 컴포넌트만 구현하였습니다.
구현된 DepositCheck 디자인은 다음과 같습니다.
구현 설명
Icon 컴포넌트에 ‘check’과 ‘x’ icon을 추가하였습니다.
현재 행동대장에서 사용하는 icon들은 모두 Icon 컴포넌트에 넣어서 사용하고 있습니다. 따라서, 통일성을 위해 Icon 컴포넌트에 DepositCheck에서 사용할 icon을 추가하였습니다.
DepositCheck 컴포넌트 구현
Text 컴포넌트와 Icon 컴포넌트를 활용하여 DepositCheck 컴포넌트를 구현하였습니다.
isDeposited
는 참여자의 입금 상태를 나타내는 props입니다.true일 경우
입금 완료
, false일 경우입금 미완료
를 뜻합니다.default
값은false
입니다.isDeposited가
true
일 경우 Icon은check
을 사용하며 style color는primary
입니다.false
일 경우에 Icon는x
이며 style color는gray
입니다.🫡 참고사항