Skip to content

Commit 54b95ca

Browse files
authored
Merge pull request #219 from DevKor-github/feat/#181/review-alert
feat: ๋ฆฌ๋ทฐ ์–ผ๋Ÿฟ ๋„์šฐ๊ธฐ
2 parents 9426c43 + 0a5fe5d commit 54b95ca

File tree

1 file changed

+30
-3
lines changed

1 file changed

+30
-3
lines changed

โ€Žsrc/pages/ReviewPage/index.tsxโ€Ž

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import Btn from '@/common/components/Button';
77
import { usePostReview } from '@/features/review/apis/usePostReview';
88
import ReviewContent from '@/features/review/components/reviewContent';
99
import { useToast } from '@/common/hooks/useToast';
10+
import CustomAlert from '@/common/components/CustomAlert';
1011

1112
const Review = () => {
1213
const navigate = useNavigate();
@@ -18,15 +19,18 @@ const Review = () => {
1819

1920
const [review, setReview] = useState('');
2021
const [isStarClicked, setIsStarClicked] = useState([false, false, false, false, false]);
22+
const [showAlert, setShowAlert] = useState(false);
23+
2124
const rating = isStarClicked.filter(v => v === true).length;
2225

2326
const isValid = rating !== 0 && review !== '' ? 'main' : 'disabled';
27+
const isReviewed = rating !== 0 || review !== '';
2428

2529
const handleReview = (e: React.ChangeEvent<HTMLTextAreaElement>) => {
2630
setReview(e.target.value);
2731
};
2832

29-
const onClick = () => {
33+
const onSubmit = () => {
3034
if (isValid === 'main') {
3135
postReview(
3236
{
@@ -44,11 +48,20 @@ const Review = () => {
4448
}
4549
};
4650

51+
const onClick = () => {
52+
if (isReviewed) {
53+
setShowAlert(true);
54+
return;
55+
}
56+
57+
navigate(-1);
58+
};
59+
4760
return (
4861
<SafeArea>
4962
<div className={s.Layout}>
5063
<div className={s.Wrapper}>
51-
<CustomHeader onClick={() => navigate(-1)} title="ํ›„๊ธฐ ์ž‘์„ฑํ•˜๊ธฐ" />
64+
<CustomHeader onClick={onClick} title="ํ›„๊ธฐ ์ž‘์„ฑํ•˜๊ธฐ" />
5265
<ReviewContent
5366
handleReview={handleReview}
5467
isStarClicked={isStarClicked}
@@ -58,11 +71,25 @@ const Review = () => {
5871
/>
5972
</div>
6073
<div className={s.Btn}>
61-
<Btn mode={isValid} onClick={onClick}>
74+
<Btn mode={isValid} onClick={onSubmit}>
6275
ํ›„๊ธฐ ์ž‘์„ฑ ์™„๋ฃŒ
6376
</Btn>
6477
</div>
6578
</div>
79+
{showAlert && (
80+
<CustomAlert
81+
onYes={() => {
82+
setShowAlert(false);
83+
navigate(-1);
84+
}}
85+
subTitle="์ •๋ง ๊ธ€ ์ž‘์„ฑ์„ ๊ทธ๋งŒ๋‘์‹ค ๊ฑด๊ฐ€์š”?"
86+
title="์ง€๊ธˆ ๊ทธ๋งŒ๋‘๋ฉด ๋ฆฌ๋ทฐ๊ฐ€ ์ €์žฅ๋˜์ง€ ์•Š์•„์š”!"
87+
yesBtn="๋„ค, ๋‹ค์Œ์— ๋‹ค์‹œ ์“ธ๊ฒŒ์š”"
88+
onNo={() => {
89+
setShowAlert(false);
90+
}}
91+
/>
92+
)}
6693
</SafeArea>
6794
);
6895
};

0 commit comments

Comments
ย (0)