This commit is contained in:
@@ -4,8 +4,9 @@ import ToggleButton, { ToggleButtonClassNames } from "@/components/button/Toggle
|
||||
import TabContainer, { TabContainerClassNames, TabContainerRenderType } from "@/components/tab/TabContainer";
|
||||
import { TabHeader } from "@/components/tab/TabHeader";
|
||||
import { toast, toastLoginRequired } from "@/components/Toast";
|
||||
import Comment from "@/components/utils/Comment";
|
||||
import RateSelectionBar from "@/components/utils/RateSelectionBar";
|
||||
import ReviewChatThread from "./ReviewChatThread";
|
||||
import { buildReviewThreads } from "../utils/reviewHelpers";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { getToken } from "@/lib/api/func";
|
||||
import { extractErrorMessage } from "@/lib/func";
|
||||
@@ -18,7 +19,6 @@ import { useGetProfile } from "../../../(Profile)/profile/hooks/userProfileData"
|
||||
import { NegativePointEnum, PositivePointEnum } from "../enum/ReviewPoints";
|
||||
import { useCreateReview, useGetFoodReviews } from "../hooks/useFoodData";
|
||||
import { CreateReviewType } from "../types/ReviewTypes";
|
||||
import { isReviewApproved } from "../../about/types/Types";
|
||||
|
||||
type Props = {
|
||||
foodId: string;
|
||||
@@ -54,8 +54,7 @@ function FoodReviewsSection({ foodId }: Props) {
|
||||
const [negativePoints, setNegativePoints] = useState<string[]>([]);
|
||||
const [formKey, setFormKey] = useState(0);
|
||||
|
||||
const reviews = (reviewsData?.data || []).filter(isReviewApproved);
|
||||
const sortedReviews = [...reviews].sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
|
||||
const reviewThreads = buildReviewThreads(reviewsData?.data || []);
|
||||
|
||||
const getTranslationKey = (point: string, isPositive: boolean): string => {
|
||||
const basePath = isPositive ? "Tabs.Strengths.Options" : "Tabs.Weeknesses.Options";
|
||||
@@ -84,15 +83,6 @@ function FoodReviewsSection({ foodId }: Props) {
|
||||
setFormKey((prev) => prev + 1);
|
||||
};
|
||||
|
||||
const formatDate = (dateString: string) => {
|
||||
const date = new Date(dateString);
|
||||
return date.toLocaleDateString("fa-IR", {
|
||||
year: "numeric",
|
||||
month: "long",
|
||||
day: "numeric",
|
||||
});
|
||||
};
|
||||
|
||||
const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {
|
||||
e.preventDefault();
|
||||
|
||||
@@ -217,21 +207,8 @@ function FoodReviewsSection({ foodId }: Props) {
|
||||
<div>
|
||||
{reviewsLoading ? (
|
||||
<p className="text-sm2 text-center py-8 text-disabled-text">در حال بارگذاری نظرات...</p>
|
||||
) : sortedReviews.length > 0 ? (
|
||||
sortedReviews.map((review) => (
|
||||
<article key={review.id}>
|
||||
<Comment
|
||||
className="pt-6"
|
||||
user={`${review.user?.firstName || ""} ${review.user?.lastName || ""}`.trim() || "کاربر"}
|
||||
rating={review.rating}
|
||||
date={formatDate(review.createdAt)}
|
||||
text={review.comment}
|
||||
tags={[]}
|
||||
positivePoints={review.positivePoints}
|
||||
negativePoints={review.negativePoints}
|
||||
/>
|
||||
</article>
|
||||
))
|
||||
) : reviewThreads.length > 0 ? (
|
||||
reviewThreads.map((thread) => <ReviewChatThread key={thread.root.id} thread={thread} />)
|
||||
) : (
|
||||
<p className="text-sm2 text-center py-8 text-disabled-text">هنوز نظری ثبت نشده است</p>
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user