summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/components/elements/Navbar/NavbarUserDropdown.jsx7
-rw-r--r--src/lib/auth/components/Menu.jsx21
-rw-r--r--src/lib/pengajuan-tempo/api/editAuthTempo.js13
-rw-r--r--src/lib/pengajuan-tempo/component/FinishTempo.jsx27
-rw-r--r--src/lib/pengajuan-tempo/component/PengajuanTempo.jsx43
-rw-r--r--src/lib/transaction/components/Transaction.jsx2
-rw-r--r--src/pages/my/menu.jsx25
7 files changed, 95 insertions, 43 deletions
diff --git a/src/core/components/elements/Navbar/NavbarUserDropdown.jsx b/src/core/components/elements/Navbar/NavbarUserDropdown.jsx
index 83bf4a66..b2abe80f 100644
--- a/src/core/components/elements/Navbar/NavbarUserDropdown.jsx
+++ b/src/core/components/elements/Navbar/NavbarUserDropdown.jsx
@@ -13,7 +13,7 @@ const NavbarUserDropdown = () => {
router.push('/login');
});
};
-
+ console.log('atuh', atuh);
return (
<div className='navbar-user-dropdown-wrapper'>
<div className='navbar-user-dropdown'>
@@ -22,7 +22,10 @@ const NavbarUserDropdown = () => {
<Link href='/my/transactions'>Daftar Transaksi</Link>
<Link href='/my/shipments'>Daftar Pengiriman</Link>
<Link href='/my/invoices'>Invoice & Faktur Pajak</Link>
- <Link href='/my/tempo'>Pembayaran Tempo</Link>
+ {(atuh?.partnerTempo.toLowerCase().includes('tempo') ||
+ atuh.tempoProgres == 'review') && (
+ <Link href='/my/tempo'>Pembayaran Tempo</Link>
+ )}
<Link href='/my/wishlist'>Wishlist</Link>
<Link href='/my/address'>Daftar Alamat</Link>
{!atuh?.external && (
diff --git a/src/lib/auth/components/Menu.jsx b/src/lib/auth/components/Menu.jsx
index 18d8df91..466b793e 100644
--- a/src/lib/auth/components/Menu.jsx
+++ b/src/lib/auth/components/Menu.jsx
@@ -3,8 +3,10 @@ import { useRouter } from 'next/router';
import ImageNext from 'next/image';
import whatsappUrl from '@/core/utils/whatsappUrl';
import { deleteAuth } from '@/core/utils/auth';
+import useAuth from '@/core/hooks/useAuth';
const Menu = () => {
const router = useRouter();
+ const auth = useAuth();
const routeStartWith = (route) => router.pathname.startsWith(route);
@@ -60,12 +62,19 @@ const Menu = () => {
<p>Invoice & Faktur Pajak</p>
</div>
</LinkItem>
- <LinkItem href='/my/tempo' active={routeStartWith('/my/tempo')}>
- <div className='flex gap-x-3 items-center'>
- <ImageNext src='/images/icon/icon_tempo.svg' width={18} height={20} />
- <p>Pembayaran Tempo</p>
- </div>
- </LinkItem>
+ {(atuh?.partnerTempo.toLowerCase().includes('tempo') ||
+ atuh.tempoProgres == 'review') && (
+ <LinkItem href='/my/tempo' active={routeStartWith('/my/tempo')}>
+ <div className='flex gap-x-3 items-center'>
+ <ImageNext
+ src='/images/icon/icon_tempo.svg'
+ width={18}
+ height={20}
+ />
+ <p>Pembayaran Tempo</p>
+ </div>
+ </LinkItem>
+ )}
<LinkItem href='/my/wishlist' active={routeStartWith('/my/wishlist')}>
<div className='flex gap-x-3 items-center'>
<ImageNext
diff --git a/src/lib/pengajuan-tempo/api/editAuthTempo.js b/src/lib/pengajuan-tempo/api/editAuthTempo.js
new file mode 100644
index 00000000..5fa3786b
--- /dev/null
+++ b/src/lib/pengajuan-tempo/api/editAuthTempo.js
@@ -0,0 +1,13 @@
+import odooApi from '@/core/api/odooApi';
+import { getAuth } from '@/core/utils/auth';
+
+const editAuthTempo = async () => {
+ const auth = getAuth();
+ const dataProfile = await odooApi(
+ 'PUT',
+ `/api/v1/user/${auth.id}/after_request_tempo`
+ );
+ return dataProfile;
+};
+
+export default editAuthTempo;
diff --git a/src/lib/pengajuan-tempo/component/FinishTempo.jsx b/src/lib/pengajuan-tempo/component/FinishTempo.jsx
index 2b6f69d0..612b502a 100644
--- a/src/lib/pengajuan-tempo/component/FinishTempo.jsx
+++ b/src/lib/pengajuan-tempo/component/FinishTempo.jsx
@@ -61,12 +61,21 @@ const FinishTempo = ({ query }) => {
: 'Form Pengajuan Tempo kamu Telah Berhasil Didaftarkan Mohon menunggu hingga Proses Selesai'}
</h1>
</div>
- <Image
- src='/images/REGISTRASI-TEMPO.svg'
- alt='Checkout Pesanan'
- width={isMobile ? 300 : 450}
- height={isMobile ? 300 : 450}
- />
+ {query?.status != 'switch-account' ? (
+ <Image
+ src='/images/REGISTRASI-TEMPO.svg'
+ alt='Registrasi Tempo'
+ width={isMobile ? 300 : 450}
+ height={isMobile ? 300 : 450}
+ />
+ ) : (
+ <Image
+ src='/images/ICON TEMPO-02.svg'
+ alt='Registrasi Tempo'
+ width={isMobile ? 300 : 450}
+ height={isMobile ? 300 : 450}
+ />
+ )}
<div
className={`mt-2 text-center opacity-75 leading-6 p-4 md:p-0 ${
@@ -78,11 +87,7 @@ const FinishTempo = ({ query }) => {
: 'Mohon menunggu untuk verifikasi dokumen dan kelengkapan data yang telah anda berikan. Proses approval pembayaran tempo kamu berhasil atau tidak akan diinfokan melalui email perusahaan / email yang mendaftar'}
</div>
<Link
- href={
- query?.status == 'switch-account'
- ? `/profil`
- : `/my/quotations/${data?.id}`
- }
+ href={query?.status == 'switch-account' ? `/profil` : `/my/tempo/`}
className='btn-solid-red rounded-md text-base flex flex-row'
>
{query?.status == 'switch-account'
diff --git a/src/lib/pengajuan-tempo/component/PengajuanTempo.jsx b/src/lib/pengajuan-tempo/component/PengajuanTempo.jsx
index ab66f94f..97e64030 100644
--- a/src/lib/pengajuan-tempo/component/PengajuanTempo.jsx
+++ b/src/lib/pengajuan-tempo/component/PengajuanTempo.jsx
@@ -8,6 +8,8 @@ import Referensi from './Referensi';
import Dokumen from './Dokumen';
import Konfirmasi from './Konfirmasi';
import { getAuth } from '~/libs/auth';
+import { setAuth } from '@/core/utils/auth';
+import useAuth from '@/core/hooks/useAuth';
import { useRouter } from 'next/router';
import { Controller, useForm } from 'react-hook-form';
import {
@@ -24,6 +26,7 @@ import clsxm from '~/libs/clsxm';
import { toast } from 'react-hot-toast';
import useDevice from '@/core/hooks/useDevice';
import odooApi from '~/libs/odooApi';
+import editAuthTempo from '../api/editAuthTempo';
const PengajuanTempo = () => {
const { isDesktop, isMobile } = useDevice();
const [currentStep, setCurrentStep] = React.useState(0);
@@ -33,7 +36,7 @@ const PengajuanTempo = () => {
const [idTempo, setIdTempo] = useState(0);
const { form, errors, validate, updateForm } = usePengajuanTempoStore();
const { control, watch, setValue } = useForm();
- const auth = getAuth();
+ const auth = useAuth();
const router = useRouter();
const { formDokumen, errorsDokumen, validateDokumen, updateFormDokumen } =
usePengajuanTempoStoreDokumen();
@@ -363,6 +366,7 @@ const PengajuanTempo = () => {
console.error(error);
}
};
+
const handleDaftarTempo = async () => {
for (const error of stepDivsError) {
if (error.length > 0) {
@@ -386,46 +390,55 @@ const PengajuanTempo = () => {
},
}));
- const data2 = {
- user_id: auth.id,
- ...form,
- ...formKontakPerson,
- ...formPengiriman,
- formDocs: JSON.stringify(formattedDokumen),
- formSupplier: JSON.stringify(productOrder),
- };
+ // const data2 = {
+ // user_id: auth.id,
+ // ...form,
+ // ...formKontakPerson,
+ // ...formPengiriman,
+ // formDocs: JSON.stringify(formattedDokumen),
+ // formSupplier: JSON.stringify(productOrder),
+ // };
const toastId = toast.loading('Mengirimkan formulir pengajuan tempo...');
setIsLoading(true);
try {
let address5;
+ console.log('MASUK SINI');
const address = await createPengajuanTempoApi({
id: 0,
+ partner_id: auth.partnerId,
user_id: auth.parentId,
- tempo_request: tempoRequest,
+ tempo_request: false,
...form,
});
console.log('address', address);
if (address.id) {
const address2 = await createPengajuanTempoApi({
id: address.id,
+ partner_id: auth.partnerId,
user_id: address.userId,
+ tempo_request: false,
...formKontakPerson,
});
if (address2.id) {
const address3 = await createPengajuanTempoApi({
id: address2.id,
+ partner_id: auth.partnerId,
user_id: address2.userId,
+ tempo_request: false,
...formPengiriman,
});
if (address3.id) {
const address4 = await createPengajuanTempoApi({
id: address3.id,
+ partner_id: auth.partnerId,
user_id: address3.userId,
+ tempo_request: false,
formDocs: JSON.stringify(formattedDokumen),
});
if (address4.id) {
address5 = await createPengajuanTempoApi({
id: address4.id,
+ partner_id: auth.partnerId,
user_id: address4.userId,
tempo_request: true,
formSupplier: JSON.stringify(productOrder),
@@ -439,8 +452,14 @@ const PengajuanTempo = () => {
if (address5.id) {
toast.success('Pengajuan tempo berhasil dilakukan');
- removeFromLocalStorage();
- router.push('/pengajuan-tempo/finish?tempo_id=SO-2023-06480');
+ const isUpdated = await editAuthTempo();
+ if (isUpdated?.user) {
+ setAuth(isUpdated.user);
+ toast.success('Berhasil mengubah status akun', { duration: 1000 });
+ removeFromLocalStorage();
+ router.push('/pengajuan-tempo/finish?tempo_id=SO-2023-06480');
+ return;
+ }
}
} catch (error) {
toast.dismiss(toastId);
diff --git a/src/lib/transaction/components/Transaction.jsx b/src/lib/transaction/components/Transaction.jsx
index f5dc507a..751d4e39 100644
--- a/src/lib/transaction/components/Transaction.jsx
+++ b/src/lib/transaction/components/Transaction.jsx
@@ -89,7 +89,7 @@ const Transaction = ({ id }) => {
const [continueTransaction, setContinueTransaction] = useState(false);
const openCancelTransaction = () => setCancelTransaction(true);
const openContinueTransaction = () => {
- if (auth.partnerTempo) {
+ if (auth.partnerTempo.toLowerCase().includes('tempo')) {
checkout();
} else {
if (!transaction.data?.purchaseOrderFile) {
diff --git a/src/pages/my/menu.jsx b/src/pages/my/menu.jsx
index 407e400f..4099a935 100644
--- a/src/pages/my/menu.jsx
+++ b/src/pages/my/menu.jsx
@@ -90,17 +90,20 @@ export default function Menu() {
<p>Invoice & Faktur Pajak</p>
</div>
</LinkItem>
- <LinkItem href='/my/tempo'>
- {' '}
- <div className='flex gap-x-3 items-center'>
- <ImageNext
- src='/images/icon/icon_tempo.svg'
- width={18}
- height={20}
- />
- <p>Pembayaran Tempo</p>
- </div>
- </LinkItem>
+ {(atuh?.partnerTempo.toLowerCase().includes('tempo') ||
+ atuh.tempoProgres == 'review') && (
+ <LinkItem href='/my/tempo'>
+ {' '}
+ <div className='flex gap-x-3 items-center'>
+ <ImageNext
+ src='/images/icon/icon_tempo.svg'
+ width={18}
+ height={20}
+ />
+ <p>Pembayaran Tempo</p>
+ </div>
+ </LinkItem>
+ )}
<LinkItem href='/my/wishlist'>
<div className='flex gap-x-3 items-center'>
<ImageNext