Skip to content

Commit e014b39

Browse files
committed
FIX: 버튼 크기 별 조정 함수로 처리하도록 수정
1 parent 51e7cb4 commit e014b39

File tree

1 file changed

+24
-12
lines changed

1 file changed

+24
-12
lines changed

src/shared/components/Button.tsx

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,36 @@ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
88
}
99

1010
const Button = ({ size, text, onClick, disabled = false, isPending = false, className = '' }: ButtonProps) => {
11+
// 크기별 스타일
12+
const getSizeStyles = () => {
13+
switch (size) {
14+
case 'sm':
15+
return 'py-[8px] px-[14px] w-[106px] label-1-bold';
16+
case 'ml':
17+
return 'py-[10px] px-[16px] w-[110px] label-1-bold';
18+
case 'lg':
19+
return 'py-[10px] px-[18px] w-[123px] body-1-bold';
20+
case 'xl':
21+
return 'py-[12px] px-[20px] w-[127px] body-1-bold';
22+
case 'full':
23+
return 'py-3 px-4 w-full body-1-bold';
24+
}
25+
};
26+
27+
const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {
28+
if (disabled) return;
29+
onClick && onClick(e);
30+
};
31+
32+
const handleKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {};
1133
return (
1234
<button
1335
className={`rounded-lg
14-
${
15-
size === 'sm'
16-
? 'py-[8px] px-[14px] w-[106px] label-1-bold'
17-
: size === 'ml'
18-
? 'py-[10px] px-[16px] w-[110px] label-1-bold'
19-
: size === 'lg'
20-
? 'py-[10px] px-[18px] w-[123px] body-1-bold'
21-
: size === 'xl'
22-
? 'py-[12px] px-[20px] w-[127px] body-1-bold'
23-
: 'py-3 px-4 w-full body-1-bold'
24-
}
36+
${getSizeStyles()}
2537
shadow-xs
2638
${disabled ? 'bg-interaction-disable text-label-disable cursor-not-allowed' : 'cursor-pointer bg-primary-normal hover:bg-primary-strong focus:outline-4 focus:outline-solid focus:outline-line-normal'}
2739
${className}`}
28-
onClick={e => onClick && onClick(e)}
40+
onClick={handleClick}
2941
disabled={disabled}
3042
>
3143
{!disabled && isPending ? (

0 commit comments

Comments
 (0)