Skip to content

Commit e03de28

Browse files
Merge pull request #58 from ShipFriend0516/refactor/toast
[Refactor] 토스트 개선
2 parents cd3895f + 38064ea commit e03de28

File tree

3 files changed

+22
-17
lines changed

3 files changed

+22
-17
lines changed

app/entities/common/Toast/Toast.tsx

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,25 @@ interface ToastProps {
99
const Toast = ({ message, type, removeToast }: ToastProps) => {
1010
const iconRender = (type: 'success' | 'error') => {
1111
if (type === 'success') {
12-
return <CiCircleCheck size={32} />;
12+
return <CiCircleCheck color={'green'} size={40} />;
1313
} else {
14-
return <CiCircleRemove size={32} />;
14+
return <CiCircleRemove color={'red'} size={40} />;
1515
}
1616
};
17-
const backgroundColor = type === 'success' ? 'bg-green-500' : 'bg-red-500';
18-
1917
return (
20-
<div className="fixed bottom-6 left-1/2 transform -translate-x-1/2 z-50 w-[90%] max-w-md">
21-
<div
22-
className={`
18+
<div
19+
onClick={() => removeToast()}
20+
className={`
2321
transform transition-all duration-300 ease-out animate-slideUp
24-
bg-gray-200/90 text-black px-4 py-3 rounded-lg flex items-center gap-3
25-
backdrop-blur-sm w-full max-w-md
22+
bg-gray-200/90 text-black px-3 py-2 rounded-lg flex items-center gap-3
23+
backdrop-blur-sm w-full max-w-md origin-center cursor-pointer
24+
hover:bg-gray-300/90 hover:shadow-lg
2625
`}
27-
>
28-
<div className={`${backgroundColor} rounded-full p-0.5`}>
29-
{iconRender(type)}
30-
</div>
31-
<p className="text whitespace-pre-line flex-1">{message}</p>
26+
>
27+
<div className={`flex items-center justify-center rounded-full p-0.5`}>
28+
{iconRender(type)}
3229
</div>
30+
<p className="text line-clamp-1 whitespace-pre-line flex-1">{message}</p>
3331
</div>
3432
);
3533
};

app/entities/common/Toast/ToastProvider.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,14 @@ interface Toast {
1111
const ToastProvider = () => {
1212
const { toasts, removeToast } = useToastStore();
1313

14+
const reversedToasts = toasts.toReversed();
1415
return (
15-
<div className={'fixed z-50 flex flex-col gap-2 top-10 right-10'}>
16-
{toasts.map((toast: Toast) => {
16+
<div
17+
className={
18+
'fixed bottom-6 left-1/2 transform -translate-x-1/2 flex flex-col gap-4 z-50 w-[90%] max-w-md'
19+
}
20+
>
21+
{reversedToasts.map((toast: Toast) => {
1722
return (
1823
<Toast
1924
key={toast.id}

tailwind.config.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,13 @@ const config: Config = {
3939
},
4040
slideUp: {
4141
'0%': {
42-
transform: 'translateY(100%)',
42+
transform: 'translateY(50%)',
43+
width: '20%',
4344
opacity: '0',
4445
},
4546
'100%': {
4647
transform: 'translateY(0)',
48+
width: '100%',
4749
opacity: '1',
4850
},
4951
},

0 commit comments

Comments
 (0)