프로젝트/Tarss

[Tars] 회고록 4일차 (emotion Props)

pizzaYami 2024. 2. 15. 22:53

 

설이 끝나고 오랜만에 다시 공부를 시작하였다.

 

 

FooterBtn

팀원들 코드리뷰를 하고 요런식으로 공통으로 사용되는 버튼을 저번처럼 합성컴포넌트가 아닌 props를 이용해서 만들었다.

 

export default function FooterBtn({ text, cancleText, shape, blur, transparent }: FooterBtnType) {
	return (
		<div
			css={
				shape === "round"
					? FooterBtnRound(blur === true, transparent === true)
					: FooterBtnSquare(blur === true)
			}
		>
			{cancleText ? (
				<button type="button" className="cancle">
					{cancleText}
				</button>
			) : null}
			<button type="button">{text}</button>
		</div>
	);
}

 

props가 많아서 나중에 줄이는 방법을 다시 생각해 봐야겠다.

 

emotion props 내리는 법

FooterBtn에서 blur를 props를 내려주면 버튼의 opacity:40%으로 설정해야 되는 부분이 있었는데 인라인으로 엘리먼트에 그대로 css를 넣는 것보다는 따로 빼내서 emotion css 파일에 넘겨주는 방법으로하고 싶었다.

 

찾아보다가 못 찾아서 팀원이 사용한 방식을 그대로 가져와 사용하였다.

//tsx파일

<div css={css파일이름(blur === true, transparent === true)}></div>

// css파일이름

export const css파일이름 = (blur: boolean, transparent: boolean) => {
	return css`
		...
        opacity: ${blur ? "40%" : "100%"};
        background-color: ${transparent ? "transparent" : "white"};
        `
}

 

회의 내용

1. 지라 자동화

지라에서는 자신이 담당한 일을 "해야할 일", "진행 중", "TEST", "완료됨"으로 나뉠 수 있는데 PM이 자동으로 변경되게 로직을 짰다고 한다.

내부에서 브랜치를 만들면 저절로 "진행 중"이라고 변경되고 PR을 보내면 "TEST"로 변경된다.

2. width 정하기

default width가 정해지지 않아서 css 작업하기 어려웠는데 피그마상에서는 360으로 되어있어서 우선은 360px에 맞추어 작업을 하고 나중에 완성도를 보고 변경을 하고자 하였다.

 

3. import order

팀원이 import문을 eslint로 자동정렬이 되도록 작업을 하였는데 좀 더 좋은 방법으로 로직을 변경하였다.

assets폴더를 맨위로 올리고 나머지 폴더는 abc순서대로 정렬이 되도록 설정을 하였다.

이러면 아무렇게나 import를 해와도 자동정렬이 된다.