diff --git a/src/assets/locals/ar.json b/src/assets/locals/ar.json index 621ed59..fbcd367 100644 --- a/src/assets/locals/ar.json +++ b/src/assets/locals/ar.json @@ -369,7 +369,8 @@ "createOrderFailed": "فشل إنشاء الطلب", "howWasYourExperienceWithFascanoRestaurant": "كيف كانت تجربتك مع مطعم فاسكانو؟", "rateOrder": "تقييم الطلب", - "submitRating": "إرسال التقييم" + "submitRating": "إرسال التقييم", + "pleaseLoginToAllowRating": "يرجى تسجيل الدخول لتمكين التقييم" }, "orderTypes": { "dine-in": "في المطعم", diff --git a/src/assets/locals/en.json b/src/assets/locals/en.json index fe4970f..971e672 100644 --- a/src/assets/locals/en.json +++ b/src/assets/locals/en.json @@ -380,7 +380,8 @@ "createOrderFailed": "Create Order Failed", "howWasYourExperienceWithFascanoRestaurant": "How was your experience with Fascano Restaurant?", "rateOrder": "Rate Order", - "submitRating": "Submit Rating" + "submitRating": "Submit Rating", + "pleaseLoginToAllowRating": "Please login to allow rating" }, "orderTypes": { "dine-in": "Dine In", diff --git a/src/components/CustomBottomSheet/RateBottomSheet.tsx b/src/components/CustomBottomSheet/RateBottomSheet.tsx index 611644c..045a05f 100644 --- a/src/components/CustomBottomSheet/RateBottomSheet.tsx +++ b/src/components/CustomBottomSheet/RateBottomSheet.tsx @@ -25,20 +25,25 @@ export function RateBottomSheet() { const { data: getUserDetails } = useGetUserDetailsQuery(undefined, { skip: !isOpen, }); + const handleSubmitRating = () => { setIsOpen(false); - rateOrder({ - orderID: orderId || "", - rating: rating, - comment: "This is a test comment", - userID: getUserDetails?.id.toString() || "", - }).then((res: any) => { - if (res.error) { - message.error(res.error.data.message); - } else { - message.success(res.data.message); - } - }); + if (getUserDetails?.id) { + rateOrder({ + orderID: orderId || "", + rating: rating, + comment: "This is a test comment", + userID: getUserDetails?.id.toString() || "", + }).then((res: any) => { + if (res.error) { + message.error(res.error.data.message); + } else { + message.success(res.data.message); + } + }); + } else { + message.error(t("order.pleaseLoginToAllowRating")); + } }; const handleStarClick = ( @@ -53,12 +58,12 @@ export function RateBottomSheet() { // Calculate which part of the star was clicked // Divide star into 4 parts: 0-25% = 0.25, 25-50% = 0.5, 50-75% = 0.75, 75-100% = 1.0 let clickPercentage = clickX / starWidth; - + // In RTL mode, invert the click percentage since stars are displayed in reverse if (isRTL) { clickPercentage = 1 - clickPercentage; } - + let starValue = 0; if (clickPercentage <= 0.25) {