diff options
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/checkout/components/FinishCheckout.jsx | 11 | ||||
| -rw-r--r-- | src/lib/merchant/components/InformasiPerusahaan.jsx | 46 | ||||
| -rw-r--r-- | src/lib/transaction/components/Transaction.jsx | 19 |
3 files changed, 47 insertions, 29 deletions
diff --git a/src/lib/checkout/components/FinishCheckout.jsx b/src/lib/checkout/components/FinishCheckout.jsx index 4a67b252..232f8a67 100644 --- a/src/lib/checkout/components/FinishCheckout.jsx +++ b/src/lib/checkout/components/FinishCheckout.jsx @@ -43,7 +43,7 @@ const FinishCheckout = ({ query }) => { toast.error('Gagal mengirimkan rincian pesanan'); } }; - +console.log(data) return ( <div className='flex flex-col items-center'> <Image @@ -53,13 +53,12 @@ const FinishCheckout = ({ query }) => { height={isMobile ? 300 : 450} /> <div className='text-title-sm md:text-title-lg text-center font-semibold'> - Terima Kasih atas Pembelian Kamu + 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='font-bold'>No. Transaksi</p> - <p className='mb-2 font-medium text-red-500 text-xl'> - {query?.order_id?.replaceAll('-', '/')} - </p> + <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/quotations/${data?.id}`} className='btn-solid-red rounded-md text-base' diff --git a/src/lib/merchant/components/InformasiPerusahaan.jsx b/src/lib/merchant/components/InformasiPerusahaan.jsx index 1e8704ac..8e4f9c56 100644 --- a/src/lib/merchant/components/InformasiPerusahaan.jsx +++ b/src/lib/merchant/components/InformasiPerusahaan.jsx @@ -56,6 +56,7 @@ const CreateMerchant = forwardRef( resolver: yupResolver(validationSchema), defaultValues, }); + const [bisnisType, setBisnisType] = useState([]); const [state, setState] = useState([]); const [cities, setCities] = useState([]); const [districts, setDistricts] = useState([]); @@ -71,6 +72,7 @@ const CreateMerchant = forwardRef( const kartuNamaRef = useRef(null); const suratPernyataanRef = useRef(null); const fotoKantorRef = useRef(null); + const bisnisTypeRef = useRef(null); const handleConfirmSubmit = (format, base64) => { if (format == 'pdf') { @@ -228,7 +230,7 @@ const CreateMerchant = forwardRef( accountNumber: data.accountNumber || '', phone: data.phone || '', mobile: data.mobile || '', - bisnisType: data.bisnisType ? parseInt(data.bisnisType) : null, + bisnisType: data.bisnisType || '', categoryPerusahaan: data.categoryPerusahaan ? parseInt(data.categoryPerusahaan) : null, @@ -263,6 +265,12 @@ const CreateMerchant = forwardRef( }, [reset, handleIsError]); useEffect(() => { + if (errors.bisnisType && bisnisTypeRef.current) { + bisnisTypeRef.current.scrollIntoView({ behavior: "smooth", block: "center" }); + } + }, [errors.bisnisType]); + + useEffect(() => { const loadProfile = async () => { try { const dataProfile = await addressApi({ @@ -530,7 +538,6 @@ const CreateMerchant = forwardRef( } return; } - const create_leads = await createMerchantApi({ data }); if (create_leads) { toast.dismiss(toastId); @@ -593,9 +600,11 @@ const CreateMerchant = forwardRef( name="bisnisType" control={control} render={({ field }) => ( - <div className="space-y-2"> + <div ref={bisnisTypeRef} className="space-y-2 w-full flex flex-row"> + <div className="w-2/5"> <label className="font-semibold text-gray-800">Tipe Bisnis</label> - <div className="flex items-center space-x-6"> + </div> + <div className="flex items-center space-x-6 .w-3/5"> {dataBisnisType.map((option) => ( <label key={option.value} className="flex items-center space-x-2 cursor-pointer"> <input @@ -605,20 +614,20 @@ const CreateMerchant = forwardRef( onChange={() => field.onChange(option.value)} className="sr-only peer" /> - <div className="w-4 h-4 rounded-full border-2 border-red-100 flex items-center justify-center + <div className="w-4 h-4 rounded-full border-2 border-red-100 flex items-center justify-center peer-checked:border-[5px] peer-checked:border-red-500 peer-focus:outline peer-focus:outline-red-100"> <div className="absolute top-1/2 left-1/2 w-2.5 h-2.5 bg-red-500 rounded-full -translate-x-1/2 -translate-y-1/2 opacity-0 peer-checked:opacity-200" /> </div> - <span className="text-sm text-gray-800">{option.label}</span> + <span className=" text-gray-800">{option.label}</span> </label> + ))} + <div className='text-caption-2 text-danger-500 mt-1'> + {errors.bisnisType?.message} + </div> </div> - <div className='text-caption-2 text-danger-500 mt-1'> - { errors.bisnisType?.message} - </div> </div> - )} /> <div className='w-full flex flex-row'> @@ -640,7 +649,7 @@ const CreateMerchant = forwardRef( className='form-input' /> <span className='opacity-65 text-xs'> - Format: PT. INDOTEKNIK DOTCOM GEMILANG + Format: PT. INDOTEKNIK DOTCOM GEMILANG{''} </span> <div className='text-caption-2 text-danger-500 mt-1'> {errors.name?.message} @@ -722,7 +731,7 @@ const CreateMerchant = forwardRef( </label> {!isKonfirmasi && ( <span className='opacity-65 text-xs'> - Alamat sesuai dengan alamat perusahaan + Alamat sesuai dengan alamat perusahaan{''} </span> )} </div> @@ -1551,7 +1560,7 @@ const CreateMerchant = forwardRef( name="bisnisType" control={control} render={({ field }) => ( - <div className="space-y-2"> + <div ref={bisnisTypeRef} className="space-y-2"> <label className="font-semibold text-gray-800">Tipe Bisnis</label> <div className="flex items-center space-x-6"> {dataBisnisType.map((option) => ( @@ -1570,15 +1579,15 @@ const CreateMerchant = forwardRef( </div> <span className="text-sm text-gray-800">{option.label}</span> </label> + ))} </div> - <div className='text-caption-2 text-danger-500 mt-1'> - {errors.bisnisType?.message} - </div> </div> )} /> - + <div className='text-caption-2 text-danger-500 mt-1'> + {errors.bisnisType?.message} + </div> <div className='w-full mt-4'> <form onSubmit={handleSubmit(onSubmitHandler)} @@ -2231,6 +2240,7 @@ const CreateMerchant = forwardRef( ); const validationSchema = Yup.object().shape({ + bisnisType: Yup.string().required('Harus dipilih'), name: Yup.string().required('Harus di-isi'), address: Yup.string().required('Harus di-isi'), state: Yup.string().required('Harus dipilih'), @@ -2252,7 +2262,6 @@ const validationSchema = Yup.object().shape({ .required('Harus di-isi'), phone: Yup.string().required('Harus di-isi'), mobile: Yup.string().required('Harus di-isi'), - bisnisType: Yup.string().required('Harus dipilih'), }); const defaultValues = { name: '', @@ -2270,6 +2279,7 @@ const defaultValues = { accountNumber: '', phone: '', mobile: '', + bisnisType: '', }; export default CreateMerchant; diff --git a/src/lib/transaction/components/Transaction.jsx b/src/lib/transaction/components/Transaction.jsx index 2ca7d386..b63796fb 100644 --- a/src/lib/transaction/components/Transaction.jsx +++ b/src/lib/transaction/components/Transaction.jsx @@ -406,6 +406,9 @@ const Transaction = ({ id }) => { <TransactionStatusBadge status={transaction.data?.status} /> </div> </DescriptionRow> + <DescriptionRow label='Estimasi Barang Siap'> + {transaction.data?.expectedReadyToShip} + </DescriptionRow> <DescriptionRow label='No Transaksi'> {transaction.data?.name} </DescriptionRow> @@ -615,11 +618,17 @@ const Transaction = ({ id }) => { )} </div> - <div className='flex items-center gap-x-2 mb-3'> - <span className='text-h-sm font-medium'> - {transaction?.data?.name} - </span> - <TransactionStatusBadge status={transaction?.data?.status} /> + <div className="flex items-center justify-between mb-3"> + <div className="flex items-center gap-x-2"> + <span className="text-h-sm font-medium"> + {transaction?.data?.name} + </span> + <TransactionStatusBadge status={transaction?.data?.status} /> + </div> + + <div className="text-h-sm"> + Estimasi Barang Siap: <span className="text-red-500 font-semibold">{transaction?.data?.expectedReadyToShip}</span> + </div> </div> <div className='flex gap-x-4'> <button |
