blob: 51837a59a2754f39b10de123edc5d4733ac93c63 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
import Link from 'next/link';
import Image from '~/components/ui/image';
import whatsappUrl from '@/core/utils/whatsappUrl';
import { useEffect, useState } from 'react';
import odooApi from '@/core/api/odooApi';
import useDevice from '@/core/hooks/useDevice';
import useAuth from '@/core/hooks/useAuth';
import axios from 'axios';
import { toast } from 'react-hot-toast';
const FinishCheckout = ({ query }) => {
const [data, setData] = useState();
const [transactionData, setTransactionData] = useState();
const { isDesktop, isMobile } = useDevice();
const auth = useAuth();
const so_order = query?.order_id?.replaceAll('-', '/');
useEffect(() => {
const fetchData = async () => {
const fetchedData = await odooApi(
'GET',
`/api/v1/sale_order_number?sale_number=${so_order}`
);
setData(fetchedData[0]);
};
fetchData();
}, [query]);
// Kirim email ketika komponen ini dimount atau sesuai kondisi
const sendEmail = async () => {
try {
const send = await axios.post(
`${process.env.NEXT_PUBLIC_SELF_HOST}/api/shop/finish-checkout?orderName=${query?.order_id}`,
{}
);
if (send.status === 200) {
toast.success('Berhasil mengirim rincian pesanan');
} else {
toast.error('Gagal mengirimkan rincian pesanan');
}
} catch (error) {
console.error(error);
toast.error('Gagal mengirimkan rincian pesanan');
}
};
return (
<div className='flex flex-col items-center'>
<Image
src='/images/CHECKOUT-PESANAN.svg'
alt='Checkout Pesanan'
width={isMobile ? 300 : 450}
height={isMobile ? 300 : 450}
/>
<div className='text-title-sm md:text-title-lg text-center font-semibold'>
Terima Kasih atas Pembelian di Indoteknik.com
</div>
<p className='text-title-sm md:text-title-lg font-semibold my-2'>
No. Transaksi:{' '}
<span className='text-red-500'>
{query?.order_id?.replaceAll('-', '/')}
</span>
</p>
<div className='flex flex-col justify-center items-center text-body-2 md:text-body-1 text-center mt-3 px-24 md:px-36 py-4 border-2 gap-y-2 rounded'>
<p className='text-title-sm md:text-title-xl text-gray-500 mt-1'>
Estimasi Barang Siap pada Tanggal
</p>
<p className='text-title-sm md:text-title-xl text-red-500 font-semibold my-2'>
{data?.expectedReadyToShip}
</p>
<Link
href={`/my/transactions/${data?.id}`}
className='btn-solid-red rounded-md text-base'
>
Cek Detail Transaksi
</Link>
</div>
<div className='mt-2 text-center leading-6 text-base p-4 md:p-0 md:max-w-[700px]'>
Rincian pembelian sudah kami kirimkan ke email kamu. Mohon dicek
kembali. jika tidak menerima email, kamu dapat menghubungi kami{' '}
<a className='text-red-500' href={whatsappUrl()}>
di sini
</a>{' '}
atau{' '}
<span onClick={sendEmail} className='text-red-500 cursor-pointer'>
Kirim ulang rincian pesanan ke Email anda.
</span>
.
</div>
</div>
);
};
export default FinishCheckout;
|