Files
myprojplanet_vite/src/components/CMyCart/CMyCart.ts

70 lines
1.5 KiB
TypeScript
Raw Normal View History

2023-11-30 14:27:46 +01:00
import { ref, onMounted, onBeforeMount, PropType, reactive, watch } from 'vue'
2021-09-04 15:05:34 +02:00
import { CCardState } from '../CCardState'
import { computed, defineComponent } from 'vue'
import { useGlobalStore } from '@store/globalStore'
import { useProducts } from '@store/Products'
2021-09-16 21:08:02 +02:00
import { CCopyBtn } from '@/components/CCopyBtn'
import { CSingleCart } from '@/components/CSingleCart'
import { CTitleBanner } from '@/components/CTitleBanner'
import MixinUsers from '../../mixins/mixin-users'
2021-09-04 15:05:34 +02:00
export default defineComponent({
name: 'CMyCart',
props: {},
components: { CTitleBanner, CCardState, CCopyBtn, CSingleCart },
setup() {
const globalStore = useGlobalStore()
const products = useProducts()
2021-09-16 21:08:02 +02:00
const { getnumItemsCart } = MixinUsers()
2021-09-04 15:05:34 +02:00
const myCart = computed(() => products.cart)
const myTotalPrice = computed(() => {
if (products.cart) {
return products.cart.totalPrice
} else {
return 0
}
})
const ordersCart = computed(() => {
if (!!products.cart) {
return products.cart.items
} else {
return null
}
})
const numOrders = computed(() => {
2023-12-10 15:15:27 +01:00
if (!!products.cart && products.cart.items) {
return products.cart.items.length
2021-09-04 15:05:34 +02:00
} else {
return 0
}
})
function closecart() {
globalStore.rightCartOpen = false
}
2023-11-30 14:27:46 +01:00
function mounted() {
products.loadOrders()
}
onMounted(mounted)
2021-09-04 15:05:34 +02:00
return {
myCart,
myTotalPrice,
ordersCart,
numOrders,
closecart,
2021-09-16 21:08:02 +02:00
getnumItemsCart,
2021-09-04 15:05:34 +02:00
}
},
})