From 411d37b02da6701d4988d6995ff25e8e128684c1 Mon Sep 17 00:00:00 2001 From: Mamalizz Date: Fri, 14 Feb 2025 01:23:58 +0330 Subject: [PATCH] updated address modal --- frontend/components/cart/AddressModal.vue | 332 ++++++++++------------ 1 file changed, 154 insertions(+), 178 deletions(-) diff --git a/frontend/components/cart/AddressModal.vue b/frontend/components/cart/AddressModal.vue index 481e493..252ec59 100644 --- a/frontend/components/cart/AddressModal.vue +++ b/frontend/components/cart/AddressModal.vue @@ -12,13 +12,23 @@ import { useToast } from "~/composables/global/useToast"; type Props = { address?: Address; + isShow: boolean; +}; + +type Emits = { + "update:address": [value: File]; + "update:isShow": [value: boolean]; }; // props const props = defineProps(); -const { address } = toRefs(props); +const { address, isShow } = toRefs(props); + +// emits + +const emit = defineEmits(); // computed @@ -30,8 +40,6 @@ const { $queryClient: queryClient } = useNuxtApp(); const { addToast } = useToast(); -const isShow = ref(false); - const addressData = ref({ id: address.value?.id ?? undefined, province: address.value?.province ?? "", @@ -56,6 +64,13 @@ const { isPending: createAddressIsPending, } = useCreateOrUpdateAddress(isEditing); +// computed + +const visible = computed({ + get: () => isShow.value ?? false, + set: (value: boolean) => emit("update:isShow", value), +}); + // methods const closeModal = () => { @@ -71,7 +86,6 @@ const closeModal = () => { for_me: "بله", }; } - isShow.value = false; }; const addNew = () => { @@ -122,199 +136,161 @@ watch(