summaryrefslogtreecommitdiff
path: root/src/pages/shop
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2024-02-23 09:16:24 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2024-02-23 09:16:24 +0700
commit55d476a4666150a013a308deb6cb99513778ac22 (patch)
tree4f8a87a72905b8b38eecd856a90b74d318b9350a /src/pages/shop
parent4bac265bf958d67dfbd584fd524d661287661368 (diff)
Update variant image without watermark
Diffstat (limited to 'src/pages/shop')
-rw-r--r--src/pages/shop/product/variant/[slug].jsx86
1 files changed, 46 insertions, 40 deletions
diff --git a/src/pages/shop/product/variant/[slug].jsx b/src/pages/shop/product/variant/[slug].jsx
index 455b248b..cb335e0a 100644
--- a/src/pages/shop/product/variant/[slug].jsx
+++ b/src/pages/shop/product/variant/[slug].jsx
@@ -1,62 +1,68 @@
-import Seo from '@/core/components/Seo'
-import LogoSpinner from '@/core/components/elements/Spinner/LogoSpinner'
-import { getIdFromSlug } from '@/core/utils/slug'
-import PageNotFound from '@/pages/404'
-import dynamic from 'next/dynamic'
-import { useRouter } from 'next/router'
-import cookie from 'cookie'
-import variantApi from '@/lib/product/api/variantApi'
-import axios from 'axios'
-import { useProductContext } from '@/contexts/ProductContext'
-import { useEffect } from 'react'
+import axios from 'axios';
+import cookie from 'cookie';
+import dynamic from 'next/dynamic';
+import { useRouter } from 'next/router';
+import { useEffect } from 'react';
-const BasicLayout = dynamic(() => import('@/core/components/layouts/BasicLayout'))
-const Product = dynamic(() => import('@/lib/product/components/Product/Product'))
+import { useProductContext } from '@/contexts/ProductContext';
+import Seo from '@/core/components/Seo';
+import LogoSpinner from '@/core/components/elements/Spinner/LogoSpinner';
+import { getIdFromSlug } from '@/core/utils/slug';
+import PageNotFound from '@/pages/404';
-export async function getServerSideProps(context) {
- const { slug } = context.query
- const cookies = context.req.headers.cookie
- const cookieObj = cookies ? cookie.parse(cookies) : {}
- const auth = cookieObj.auth ? JSON.parse(cookieObj.auth) : {}
- const tier = auth.pricelist ? auth.pricelist : false
- const authToken = auth?.token || ''
+const BasicLayout = dynamic(() =>
+ import('@/core/components/layouts/BasicLayout')
+);
+const Product = dynamic(() =>
+ import('@/lib/product/components/Product/Product')
+);
+export async function getServerSideProps(context) {
+ const { slug } = context.query;
+ const cookies = context.req.headers.cookie;
+ const cookieObj = cookies ? cookie.parse(cookies) : {};
+ const auth = cookieObj.auth ? JSON.parse(cookieObj.auth) : {};
+ const tier = auth.pricelist ? auth.pricelist : false;
+ const authToken = auth?.token || '';
let response = await axios(
- `${process.env.NEXT_PUBLIC_SELF_HOST}/api/shop/variant-detail?id=` + getIdFromSlug(slug) +'&auth=' + tier
- )
- let product = response.data
+ `${process.env.NEXT_PUBLIC_SELF_HOST}/api/shop/variant-detail?id=` +
+ getIdFromSlug(slug) +
+ '&auth=' +
+ tier
+ );
+ let product = response.data;
// let product = await variantApi({ id: getIdFromSlug(slug), headers: { Token: authToken } })
-
+
if (product?.length == 1) {
- product = product[0]
- /* const regexHtmlTags = /(<([^>]+)>)/gi
+ product = product[0];
+ /* const regexHtmlTags = /(<([^>]+)>)/gi
const regexHtmlTagsExceptP = /<\/?(?!p\b)[^>]*>/g
product.description = product.description
.replace(regexHtmlTagsExceptP, ' ')
.replace(regexHtmlTags, ' ')
.trim()*/
} else {
- product = null
+ product = null;
}
return {
- props: { product }
- }
+ props: { product },
+ };
}
export default function ProductDetail({ product }) {
- const router = useRouter()
+ const router = useRouter();
- const { setProduct } = useProductContext()
+ const { setProduct } = useProductContext();
useEffect(() => {
if (product) {
- setProduct(product)
+ setProduct(product);
}
- }, [product, setProduct])
+ }, [product, setProduct]);
- if (!product) return <PageNotFound />
+ if (!product) return <PageNotFound />;
return (
<BasicLayout>
@@ -70,16 +76,16 @@ export default function ProductDetail({ product }) {
url: product?.image,
width: 800,
height: 800,
- alt: product?.name
- }
+ alt: product?.name,
+ },
],
- type: 'product'
+ type: 'product',
}}
additionalMetaTags={[
{
name: 'keywords',
- content: `${product?.name}, Harga ${product?.name}, Beli ${product?.name}, Spesifikasi ${product?.name}`
- }
+ content: `${product?.name}, Harga ${product?.name}, Beli ${product?.name}, Spesifikasi ${product?.name}`,
+ },
]}
/>
{!product && (
@@ -89,5 +95,5 @@ export default function ProductDetail({ product }) {
)}
{product && <Product product={product} isVariant={true} />}
</BasicLayout>
- )
+ );
}