From e2ebf54d5684b65faf8629f7c0644bd928ca608f Mon Sep 17 00:00:00 2001 From: Veselov Date: Tue, 16 Sep 2025 23:14:47 +0300 Subject: [PATCH] product-card --- api/endpoints/getProductAttributesDetail.ts | 4 +++ api/endpoints/getProductsVariationsList.ts | 2 +- api/endpoints/index.ts | 1 + api/queries/index.ts | 1 + api/queries/useGetProductAttributesDetail.ts | 10 ++++++++ assets/scss/main.scss | 5 ---- components/ProductDescription.vue | 19 ++++++++------ components/ProductVariations.vue | 12 ++++----- composables/useCurrentProduct.ts | 23 ++++++++--------- composables/useProduct.ts | 26 ++++++++++++++++++++ composables/useProductsList.ts | 2 ++ i18n/locales/ru.json | 3 ++- pages/index.vue | 4 +-- 13 files changed, 77 insertions(+), 35 deletions(-) create mode 100644 api/endpoints/getProductAttributesDetail.ts create mode 100644 api/queries/useGetProductAttributesDetail.ts diff --git a/api/endpoints/getProductAttributesDetail.ts b/api/endpoints/getProductAttributesDetail.ts new file mode 100644 index 0000000..b00c7ca --- /dev/null +++ b/api/endpoints/getProductAttributesDetail.ts @@ -0,0 +1,4 @@ +import api from '~/api/instance' + +export const getProductAttributesDetail = async (productId: number) => + await api.wc.v3ProductsAttributesDetail(productId) diff --git a/api/endpoints/getProductsVariationsList.ts b/api/endpoints/getProductsVariationsList.ts index 6de83a0..a741e33 100644 --- a/api/endpoints/getProductsVariationsList.ts +++ b/api/endpoints/getProductsVariationsList.ts @@ -1,4 +1,4 @@ import api from '~/api/instance' export const getProductsVariationsList = async (productId: number) => - await api.wc.v3ProductsVariationsList(productId) + await api.wc.v3ProductsVariationsList(productId, { per_page: 99 }) diff --git a/api/endpoints/index.ts b/api/endpoints/index.ts index d511ff7..a1f889f 100644 --- a/api/endpoints/index.ts +++ b/api/endpoints/index.ts @@ -1,3 +1,4 @@ +export * from './getProductAttributesDetail' export * from './getProductsDetail' export * from './getProductsList' export * from './getProductsVariationsList' diff --git a/api/queries/index.ts b/api/queries/index.ts index 46d6f71..58a33c9 100644 --- a/api/queries/index.ts +++ b/api/queries/index.ts @@ -1,3 +1,4 @@ +export * from './useGetProductAttributesDetail' export * from './useGetProductsDetail' export * from './useGetProductsList' export * from './useGetProductsVariationsList' diff --git a/api/queries/useGetProductAttributesDetail.ts b/api/queries/useGetProductAttributesDetail.ts new file mode 100644 index 0000000..acb9b64 --- /dev/null +++ b/api/queries/useGetProductAttributesDetail.ts @@ -0,0 +1,10 @@ +import { useQuery } from '@tanstack/vue-query' +import { unref } from 'vue' +import { getProductAttributesDetail } from '~/api/endpoints' + +export const useGetProductAttributesDetail = (productId: MaybeRef) => { + return useQuery({ + queryKey: ['get-products-detail', productId], + queryFn: () => getProductAttributesDetail(unref(productId)), + }) +} diff --git a/assets/scss/main.scss b/assets/scss/main.scss index 5229a5b..db32c6b 100644 --- a/assets/scss/main.scss +++ b/assets/scss/main.scss @@ -24,11 +24,6 @@ h3 { @include h3('h3'); } -// Buttons -button { - cursor: pointer; -} - ::-webkit-scrollbar { width: 8px; } diff --git a/components/ProductDescription.vue b/components/ProductDescription.vue index 1024077..07aabd0 100644 --- a/components/ProductDescription.vue +++ b/components/ProductDescription.vue @@ -2,9 +2,9 @@

{{ productsData?.name }}

-

{{ currentVariant?.price }}

+

{{ currentVariant?.options[0]?.price }}

- +
{{ `Цвет: ${t(`colors.${currentColor}`)}` }} @@ -20,12 +20,17 @@
- +
@@ -41,7 +46,7 @@ import { useCurrentProduct, useProduct } from '~/composables' const { t } = useI18n() -const { productsData, sizes } = useProduct() +const { productsData, colors, getAttribute } = useProduct() const { currentVariant, currentColor, currentMaterial } = useCurrentProduct() const currentSize = ref(0) diff --git a/components/ProductVariations.vue b/components/ProductVariations.vue index 0a907ab..31084b3 100644 --- a/components/ProductVariations.vue +++ b/components/ProductVariations.vue @@ -1,12 +1,12 @@