diff --git a/frontend/app.vue b/frontend/app.vue index dd43ce5..b08570b 100644 --- a/frontend/app.vue +++ b/frontend/app.vue @@ -7,6 +7,8 @@ import { VueQueryDevtools } from "@tanstack/vue-query-devtools"; + +
@@ -20,4 +22,3 @@ import { VueQueryDevtools } from "@tanstack/vue-query-devtools";
- diff --git a/frontend/components/cart/AddressItem.vue b/frontend/components/cart/AddressItem.vue index d6b5af3..a042ed9 100644 --- a/frontend/components/cart/AddressItem.vue +++ b/frontend/components/cart/AddressItem.vue @@ -24,6 +24,10 @@ const emit = defineEmits(["select"]); const { $queryClient: queryClient } = useNuxtApp(); +const modalIsShow = ref(false); + +const marqueeIsPause = ref(true); + const { addToast } = useToast(); // queries @@ -97,20 +101,25 @@ const handleDeleteAddress = (id: number) => {
- - {{ - !!address - ? `ایران, ${address.province}, ${address.city}, ${address.address}, کدپستی ${address.postal_code}` - : "افزودن آدرس جدید" - }} - +
+
+ {{ + !!address + ? `ایران, ${address.province}, ${address.city}, ${address.address}, کدپستی ${address.postal_code}` + : "افزودن آدرس جدید" + }} +
+
- +
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( diff --git a/frontend/components/global/Modal.vue b/frontend/components/global/Modal.vue index 948be76..b2ec075 100644 --- a/frontend/components/global/Modal.vue +++ b/frontend/components/global/Modal.vue @@ -6,6 +6,7 @@ type Props = { icon?: string; title: string; iconSize?: string; + contectClass?: string; }; type Emits = { @@ -35,7 +36,14 @@ const isShow = computed({