From aa21c215d18d0a80e7f2979f9a18f5af7db02f8c Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Wed, 29 Mar 2023 11:10:53 +0700 Subject: video page --- src/lib/checkout/components/FinishCheckout.jsx | 2 +- src/lib/product/components/Product/ProductDesktop.jsx | 16 +++++++++++++--- src/lib/product/components/Product/ProductMobile.jsx | 10 ++++++++-- src/lib/video/api/videoApi.js | 8 ++++++++ src/lib/video/hooks/useVideo.js | 13 +++++++++++++ 5 files changed, 43 insertions(+), 6 deletions(-) create mode 100644 src/lib/video/api/videoApi.js create mode 100644 src/lib/video/hooks/useVideo.js (limited to 'src/lib') diff --git a/src/lib/checkout/components/FinishCheckout.jsx b/src/lib/checkout/components/FinishCheckout.jsx index 33c0d46a..4af39e91 100644 --- a/src/lib/checkout/components/FinishCheckout.jsx +++ b/src/lib/checkout/components/FinishCheckout.jsx @@ -2,7 +2,7 @@ import Link from '@/core/components/elements/Link/Link' const FinishCheckout = ({ query }) => { return ( -
+

Terima Kasih atas Pembelian Anda

diff --git a/src/lib/product/components/Product/ProductDesktop.jsx b/src/lib/product/components/Product/ProductDesktop.jsx index 79e7bb45..2f0ac488 100644 --- a/src/lib/product/components/Product/ProductDesktop.jsx +++ b/src/lib/product/components/Product/ProductDesktop.jsx @@ -12,6 +12,7 @@ import useVariantPrice from '@/lib/variant/hooks/useVariantPrice' import useProductPrice from '../../hooks/useProductPrice' import PriceSkeleton from '@/core/components/elements/Skeleton/PriceSkeleton' import { useRouter } from 'next/router' +import { createSlug } from '@/core/utils/slug' const ProductDesktop = ({ product, wishlist, toggleWishlist }) => { const router = useRouter() @@ -38,7 +39,8 @@ const ProductDesktop = ({ product, wishlist, toggleWishlist }) => { if (!validQuantity(quantity)) return updateItemCart({ productId: variantId, - quantity + quantity, + selected: true }) toast.success('Berhasil menambahkan ke keranjang') } @@ -92,7 +94,15 @@ const ProductDesktop = ({ product, wishlist, toggleWishlist }) => {
Manufacture
{product.manufacture?.name ? ( - {product.manufacture?.name} + + {product.manufacture?.name} + ) : (
-
)} @@ -181,7 +191,7 @@ const ProductDesktop = ({ product, wishlist, toggleWishlist }) => { {product.variants.map((variant) => ( {variant.code} - {variant.attributes.join(', ')} + {variant.attributes.join(', ') || '-'} diff --git a/src/lib/product/components/Product/ProductMobile.jsx b/src/lib/product/components/Product/ProductMobile.jsx index 0df22026..e560639c 100644 --- a/src/lib/product/components/Product/ProductMobile.jsx +++ b/src/lib/product/components/Product/ProductMobile.jsx @@ -14,6 +14,7 @@ import { toast } from 'react-hot-toast' import useVariantPrice from '@/lib/variant/hooks/useVariantPrice' import PriceSkeleton from '@/core/components/elements/Skeleton/PriceSkeleton' import useProductPrice from '../../hooks/useProductPrice' +import { createSlug } from '@/core/utils/slug' const ProductMobile = ({ product, wishlist, toggleWishlist }) => { const router = useRouter() @@ -79,7 +80,8 @@ const ProductMobile = ({ product, wishlist, toggleWishlist }) => { if (!validAction()) return updateItemCart({ productId: activeVariant.id, - quantity + quantity, + selected: true }) toast.success('Berhasil menambahkan ke keranjang') } @@ -106,7 +108,11 @@ const ProductMobile = ({ product, wishlist, toggleWishlist }) => {
{product.manufacture?.name ? ( - {product.manufacture?.name} + + {product.manufacture?.name} + ) : (
-
)} diff --git a/src/lib/video/api/videoApi.js b/src/lib/video/api/videoApi.js new file mode 100644 index 00000000..d1031dab --- /dev/null +++ b/src/lib/video/api/videoApi.js @@ -0,0 +1,8 @@ +import odooApi from '@/core/api/odooApi' + +const videoApi = async ({ limit, offset }) => { + const dataVideos = await odooApi('GET', `/api/v1/video_content?limit=${limit}&offset=${offset}`) + return dataVideos +} + +export default videoApi diff --git a/src/lib/video/hooks/useVideo.js b/src/lib/video/hooks/useVideo.js new file mode 100644 index 00000000..6086f9aa --- /dev/null +++ b/src/lib/video/hooks/useVideo.js @@ -0,0 +1,13 @@ +import { useQuery } from 'react-query' +import videoApi from '../api/videoApi' + +const useVideo = ({ limit, offset }) => { + const fetchVideo = async () => await videoApi({ limit, offset }) + const video = useQuery(`video-${limit}-${offset}`, fetchVideo, { + refetchOnWindowFocus: false + }) + + return { video } +} + +export default useVideo -- cgit v1.2.3