From 599677f9c2dc7556c44a37afd894cdb04afd1c86 Mon Sep 17 00:00:00 2001 From: marzban-dev Date: Tue, 19 May 2026 17:17:11 +0330 Subject: [PATCH 1/2] Fix postal code validation --- frontend/components/cart/delivery/AddressModal.vue | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frontend/components/cart/delivery/AddressModal.vue b/frontend/components/cart/delivery/AddressModal.vue index 0f4d507..260cd2f 100644 --- a/frontend/components/cart/delivery/AddressModal.vue +++ b/frontend/components/cart/delivery/AddressModal.vue @@ -58,7 +58,10 @@ const formRules = computed(() => { }, postal_code: { required: helpers.withMessage("فیلد کد پستی الزامی می باشد", required), - minLength: helpers.withMessage("فیلد کد پستی حداقل 10 کرکتر می باشد", minLength(10)), + exactLength: helpers.withMessage("فیلد کد پستی باید دقیقا 10 کرکتر باشد", (value: unknown) => { + if (value === null || value === undefined) return false; + return String(value).length === 10; + }), }, address: { required: helpers.withMessage("فیلد آدرس کامل الزامی می باشد", required), From 2da063287e8a599ffd512f655c4a0d72a9d96617 Mon Sep 17 00:00:00 2001 From: marzban-dev Date: Tue, 19 May 2026 17:17:26 +0330 Subject: [PATCH 2/2] Refetch product after submitting comment --- .../components/product/ProductComments.vue | 94 ++++++++++--------- 1 file changed, 51 insertions(+), 43 deletions(-) diff --git a/frontend/components/product/ProductComments.vue b/frontend/components/product/ProductComments.vue index 9137445..9daa392 100644 --- a/frontend/components/product/ProductComments.vue +++ b/frontend/components/product/ProductComments.vue @@ -5,6 +5,7 @@ import useGetComments from "~/composables/api/product/useGetComments"; import useCreateComment from "~/composables/api/product/useCreateComment"; import useRateProduct from "~/composables/api/product/useRateProduct"; import { useAuth } from "~/composables/api/auth/useAuth"; +import useGetProduct from "~/composables/api/product/useGetProduct"; // props @@ -28,6 +29,7 @@ const selectedRating = ref(5); const showMoreComments = ref(false); const { data: comments, refetch: refetchComments } = useGetComments(id); +const { refetch: refetchProduct } = useGetProduct(id); const { mutateAsync: createComment, isPending: isCreateCommentPending } = useCreateComment(id); const { mutateAsync: rateProduct, isPending: isRateProductPending } = useRateProduct(props.product.slug); @@ -80,6 +82,7 @@ const submitComment = async () => { userComment.value = ""; selectedRating.value = 5; + await refetchProduct(); await refetchComments(); }; @@ -112,61 +115,66 @@ const limitedComments = computed(() => { @submit.prevent="submitComment" class="flex flex-col gap-6" > -
-
- امتیاز قبلی شما +
+
+
+ امتیاز قبلی شما +
+ + {{ + props.product.user_rating + }} +
+
+
+
+ امتیاز شما
- {{ - props.product.user_rating - }} + {{ selectedRating }}
-
- امتیاز شما -
- - {{ selectedRating }} -
-
+ { type="button" class="rounded-full w-full" > - وارد شوید + برای ثبت نظر وارد شوید