From b405fc315b0939a7d16270233db7b3115c31416d Mon Sep 17 00:00:00 2001 From: BunyodL Date: Wed, 7 May 2025 23:40:28 +0500 Subject: [PATCH] fix: use review-schema and rtk loading-state --- src/app/api/reviews/create/route.ts | 10 +++------- src/features/review-form/ui/index.tsx | 7 +------ 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/src/app/api/reviews/create/route.ts b/src/app/api/reviews/create/route.ts index 24a3d01..5f7f8cd 100644 --- a/src/app/api/reviews/create/route.ts +++ b/src/app/api/reviews/create/route.ts @@ -4,16 +4,12 @@ import { z } from 'zod'; import { requestTaylor } from '@/app/api-utlities/clients/taylor.client'; import { createReviewMutation } from '@/app/api-utlities/requests/common'; +import { reviewSchema } from '@/features/review-form/model/review-form.schema'; + export const POST = async (req: NextRequest) => { const body = await req.json(); - const validatedRequest = z - .object({ - name: z.string(), - text: z.string(), - rating: z.number().min(0).max(5), - }) - .parse(body); + const validatedRequest = reviewSchema.parse(body); await requestTaylor( { mutation: createReviewMutation }, diff --git a/src/features/review-form/ui/index.tsx b/src/features/review-form/ui/index.tsx index 1a68653..b2e7cd7 100644 --- a/src/features/review-form/ui/index.tsx +++ b/src/features/review-form/ui/index.tsx @@ -33,10 +33,9 @@ import { ReviewFormValues, reviewSchema } from '../model/review-form.schema'; export function ReviewForm() { const [openReviewFormDialog, setOpenReviewFormDialog] = useState(false); - const [isSubmitting, setIsSubmitting] = useState(false); const [hoveredStar, setHoveredStar] = useState(0); - const [createReview] = useCreateReviewMutation(); + const [createReview, { isLoading: isSubmitting }] = useCreateReviewMutation(); const form = useForm({ resolver: zodResolver(reviewSchema), @@ -48,8 +47,6 @@ export function ReviewForm() { }); const onSubmit = async (data: ReviewFormValues) => { - setIsSubmitting(true); - try { await createReview(data); @@ -69,8 +66,6 @@ export function ReviewForm() { duration: 5000, }, ); - } finally { - setIsSubmitting(false); } };