summaryrefslogtreecommitdiff
path: root/src/pages
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages')
-rw-r--r--src/pages/api/activation-request.js26
-rw-r--r--src/pages/api/shop/brands.js2
-rw-r--r--src/pages/index.jsx18
-rw-r--r--src/pages/login.jsx12
-rw-r--r--src/pages/my/address/[id]/edit.jsx29
-rw-r--r--src/pages/my/profile.jsx69
6 files changed, 87 insertions, 69 deletions
diff --git a/src/pages/api/activation-request.js b/src/pages/api/activation-request.js
index 98d27f78..2b8ccec3 100644
--- a/src/pages/api/activation-request.js
+++ b/src/pages/api/activation-request.js
@@ -1,27 +1,29 @@
-import odooApi from '@/core/api/odooApi'
-import mailer from '@/core/utils/mailer'
+import odooApi from '@/core/api/odooApi';
+import mailer from '@/core/utils/mailer';
export default async function handler(req, res) {
try {
- const { email } = req.body
- let result = await odooApi('POST', '/api/v1/user/activation-request', { email })
+ const { email } = req.body;
+ let result = await odooApi('POST', '/api/v1/user/activation-request', {
+ email,
+ });
if (result.activationRequest) {
mailer.sendMail({
- from: 'Indoteknik.com <noreply@indoteknik.com>',
+ from: 'noreply@indoteknik.com',
to: result.user.email,
subject: 'Permintaan Aktivasi Akun Indoteknik',
html: `
<h1>Permintaan Aktivasi Akun Indoteknik</h1>
<br>
<p>Aktivasi akun anda melalui link berikut: <a href="${process.env.NEXT_PUBLIC_SELF_HOST}/activate?token=${result.token}">Aktivasi Akun</a></p>
- `
- })
+ `,
+ });
}
- delete result.user
- delete result.token
- res.status(200).json(result)
+ delete result.user;
+ delete result.token;
+ res.status(200).json(result);
} catch (error) {
- console.log(error)
- res.status(400).json({ error: error.message })
+ console.log(error);
+ res.status(400).json({ error: error.message });
}
}
diff --git a/src/pages/api/shop/brands.js b/src/pages/api/shop/brands.js
index cc64a7e7..9c2824b3 100644
--- a/src/pages/api/shop/brands.js
+++ b/src/pages/api/shop/brands.js
@@ -24,6 +24,8 @@ export default async function handler(req, res) {
params = `name_s:${req.query.params}`.toLowerCase();
}
}
+ if(req.query.rows) rows = req.query.rows;
+
const url = `${SOLR_HOST}/solr/brands/select?q=${params}&q.op=OR&indent=true&rows=${rows}&${sort}`;
let brands = await axios(url);
let dataBrands = responseMap(brands.data.response.docs);
diff --git a/src/pages/index.jsx b/src/pages/index.jsx
index 6077c192..cc4d68db 100644
--- a/src/pages/index.jsx
+++ b/src/pages/index.jsx
@@ -1,21 +1,19 @@
-import dynamic from 'next/dynamic';
-import { useEffect, useRef, useState } from 'react';
import { HeroBannerSkeleton } from '@/components/skeleton/BannerSkeleton';
import { PopularProductSkeleton } from '@/components/skeleton/PopularProductSkeleton';
+import odooApi from '@/core/api/odooApi';
import Seo from '@/core/components/Seo';
import DelayRender from '@/core/components/elements/DelayRender/DelayRender';
import DesktopView from '@/core/components/views/DesktopView';
import MobileView from '@/core/components/views/MobileView';
import { FlashSaleSkeleton } from '@/lib/flashSale/skeleton/FlashSaleSkeleton';
-import PreferredBrandSkeleton from '@/lib/home/components/Skeleton/PreferredBrandSkeleton';
import BannerPromoSkeleton from '@/lib/home/components/Skeleton/BannerPromoSkeleton';
-import PromotinProgram from '@/lib/promotinProgram/components/HomePage';
+import PreferredBrandSkeleton from '@/lib/home/components/Skeleton/PreferredBrandSkeleton';
+import dynamic from 'next/dynamic';
+import { useEffect, useRef, useState } from 'react';
+import { getAuth } from '~/libs/auth';
import PagePopupIformation from '~/modules/popup-information'; // need change to dynamic and ssr : false
import CategoryPilihan from '../lib/home/components/CategoryPilihan';
-import odooApi from '@/core/api/odooApi';
-import { getAuth } from '~/libs/auth';
// import { getAuth } from '~/libs/auth';
-import useProductDetail from '~/modules/product-detail/stores/useProductDetail';
const BasicLayout = dynamic(() =>
import('@/core/components/layouts/BasicLayout'),{ssr: false}
@@ -55,18 +53,18 @@ const ProgramPromotion = dynamic(() =>
);
const BannerSection = dynamic(() =>
- import('@/lib/home/components/BannerSection'), {ssr: false}
+ import('@/lib/home/components/BannerSection')
);
const CategoryHomeId = dynamic(() =>
import('@/lib/home/components/CategoryHomeId'), {ssr: false}
);
const CategoryDynamic = dynamic(() =>
- import('@/lib/home/components/CategoryDynamic'), {ssr: false}
+ import('@/lib/home/components/CategoryDynamic')
);
const CategoryDynamicMobile = dynamic(() =>
-import('@/lib/home/components/CategoryDynamicMobile'), {ssr: false}
+import('@/lib/home/components/CategoryDynamicMobile')
);
const CustomerReviews = dynamic(() =>
diff --git a/src/pages/login.jsx b/src/pages/login.jsx
index 9a1aa85b..07d13784 100644
--- a/src/pages/login.jsx
+++ b/src/pages/login.jsx
@@ -1,3 +1,5 @@
+import { useEffect } from 'react';
+import { useRouter } from 'next/router';
import Seo from '@/core/components/Seo';
import SimpleFooter from '@/core/components/elements/Footer/SimpleFooter';
import BasicLayout from '@/core/components/layouts/BasicLayout';
@@ -5,8 +7,18 @@ import DesktopView from '@/core/components/views/DesktopView';
import MobileView from '@/core/components/views/MobileView';
import LoginComponent from '@/lib/auth/components/Login';
import AccountActivation from '~/modules/account-activation';
+import useAuth from '@/core/hooks/useAuth';
export default function Login() {
+ const router = useRouter();
+ const auth = useAuth();
+
+ useEffect(() => {
+ if (auth) {
+ router.push('/');
+ }
+ }, [auth, router]);
+
return (
<>
<Seo title='Login - Indoteknik.com' />
diff --git a/src/pages/my/address/[id]/edit.jsx b/src/pages/my/address/[id]/edit.jsx
index bd680b90..c552659b 100644
--- a/src/pages/my/address/[id]/edit.jsx
+++ b/src/pages/my/address/[id]/edit.jsx
@@ -1,11 +1,11 @@
-import Seo from '@/core/components/Seo'
-import AppLayout from '@/core/components/layouts/AppLayout'
-import BasicLayout from '@/core/components/layouts/BasicLayout'
-import DesktopView from '@/core/components/views/DesktopView'
-import MobileView from '@/core/components/views/MobileView'
-import addressApi from '@/lib/address/api/addressApi'
-import EditAddressComponent from '@/lib/address/components/EditAddress'
-import IsAuth from '@/lib/auth/components/IsAuth'
+import Seo from '@/core/components/Seo';
+import AppLayout from '@/core/components/layouts/AppLayout';
+import BasicLayout from '@/core/components/layouts/BasicLayout';
+import DesktopView from '@/core/components/views/DesktopView';
+import MobileView from '@/core/components/views/MobileView';
+import addressApi from '@/lib/address/api/addressApi';
+import EditAddressComponent from '@/lib/address/components/EditAddress';
+import IsAuth from '@/lib/auth/components/IsAuth';
export default function EditAddress({ id, defaultValues }) {
return (
@@ -24,12 +24,12 @@ export default function EditAddress({ id, defaultValues }) {
</BasicLayout>
</DesktopView>
</IsAuth>
- )
+ );
}
export async function getServerSideProps(context) {
- const { id } = context.query
- const address = await addressApi({ id })
+ const { id } = context.query;
+ const address = await addressApi({ id });
const defaultValues = {
type: address.type,
name: address.name,
@@ -41,7 +41,8 @@ export async function getServerSideProps(context) {
oldDistrict: address.district?.id || '',
district: '',
oldSubDistrict: address.subDistrict?.id || '',
- subDistrict: ''
- }
- return { props: { id, defaultValues } }
+ subDistrict: '',
+ business_name: '',
+ };
+ return { props: { id, defaultValues } };
}
diff --git a/src/pages/my/profile.jsx b/src/pages/my/profile.jsx
index 25c3a608..7cf1bcbb 100644
--- a/src/pages/my/profile.jsx
+++ b/src/pages/my/profile.jsx
@@ -1,41 +1,44 @@
-import Divider from '@/core/components/elements/Divider/Divider'
-import AppLayout from '@/core/components/layouts/AppLayout'
-import BasicLayout from '@/core/components/layouts/BasicLayout'
-import DesktopView from '@/core/components/views/DesktopView'
-import MobileView from '@/core/components/views/MobileView'
-import useAuth from '@/core/hooks/useAuth'
-import CompanyProfile from '@/lib/auth/components/CompanyProfile'
-import IsAuth from '@/lib/auth/components/IsAuth'
-import Menu from '@/lib/auth/components/Menu'
-import PersonalProfile from '@/lib/auth/components/PersonalProfile'
+import Divider from '@/core/components/elements/Divider/Divider';
+import AppLayout from '@/core/components/layouts/AppLayout';
+import BasicLayout from '@/core/components/layouts/BasicLayout';
+import DesktopView from '@/core/components/views/DesktopView';
+import MobileView from '@/core/components/views/MobileView';
+import useAuth from '@/core/hooks/useAuth';
+import CompanyProfile from '@/lib/auth/components/CompanyProfile';
+import IsAuth from '@/lib/auth/components/IsAuth';
+import Menu from '@/lib/auth/components/Menu';
+import PersonalProfile from '@/lib/auth/components/PersonalProfile';
+import Seo from '@/core/components/Seo';
export default function Profile() {
- const auth = useAuth()
+ const auth = useAuth();
return (
- <IsAuth>
- <MobileView>
- <AppLayout title='Akun Saya'>
- <PersonalProfile />
- <Divider />
- {auth?.parentId && <CompanyProfile />}
- </AppLayout>
- </MobileView>
-
- <DesktopView>
- <BasicLayout>
- <div className='container mx-auto flex py-10'>
- <div className='w-3/12 pr-4'>
- <Menu />
- </div>
- <div className='w-9/12 bg-white border border-gray_r-6 rounded'>
+ <>
+ <Seo title='Profile - Indoteknik.com' />
+ <IsAuth>
+ <MobileView>
+ <AppLayout title='Akun Saya'>
<PersonalProfile />
<Divider />
{auth?.parentId && <CompanyProfile />}
+ </AppLayout>
+ </MobileView>
- </div>
- </div>
- </BasicLayout>
- </DesktopView>
- </IsAuth>
- )
+ <DesktopView>
+ <BasicLayout>
+ <div className='container mx-auto flex py-10'>
+ <div className='w-3/12 pr-4'>
+ <Menu />
+ </div>
+ <div className='w-9/12 bg-white border border-gray_r-6 rounded'>
+ <PersonalProfile />
+ <Divider />
+ {auth?.parentId && <CompanyProfile />}
+ </div>
+ </div>
+ </BasicLayout>
+ </DesktopView>
+ </IsAuth>
+ </>
+ );
}