diff --git a/src/pages/review/Detail.tsx b/src/pages/review/Detail.tsx index 0b27ce4..fe6ec19 100644 --- a/src/pages/review/Detail.tsx +++ b/src/pages/review/Detail.tsx @@ -1,9 +1,11 @@ -import { type FC } from 'react' -import { useGetReviewById } from './hooks/useReviewData' +import { type FC, useState } from 'react' +import { useGetReviewById, useUpdateReviewStatus } from './hooks/useReviewData' import { useParams } from 'react-router-dom' import PageLoading from '@/components/PageLoading' import Input from '@/components/Input' import Status from '@/components/Status' +import Select from '@/components/Select' +import Button from '@/components/Button' import { Star1, User, ShoppingCart, DocumentText, Like1, Dislike } from 'iconsax-react' import { formatOptionalDate, formatPrice, formatFaNumber } from '@/helpers/func' import { useTranslation } from 'react-i18next' @@ -13,6 +15,8 @@ const DetailReview: FC = () => { const { t } = useTranslation('global') const { id } = useParams() const { data: reviewData, isLoading } = useGetReviewById(id!) + const updateStatusMutation = useUpdateReviewStatus() + const [selectedStatus, setSelectedStatus] = useState('') if (isLoading) { return ( @@ -49,16 +53,55 @@ const DetailReview: FC = () => { 'rejected': 'رد شده', } + const statusOptions = [ + { value: 'pending', label: 'در انتظار' }, + { value: 'approved', label: 'تایید شده' }, + { value: 'rejected', label: 'رد شده' }, + ] + + const handleStatusChange = () => { + if (selectedStatus && selectedStatus !== review.status && id) { + updateStatusMutation.mutate( + { id, status: selectedStatus }, + { + onSuccess: () => { + setSelectedStatus('') + }, + } + ) + } + } + const userName = [review.user.firstName, review.user.lastName].filter(Boolean).join(' ') || '-' return (

جزئیات نظر

- +
+ +
+
+