/* eslint-disable react-hooks/exhaustive-deps */ import { BaseBox, ButtonCenteredOnly, ButtonCustom, Grid, InformationBox, Spacing, StackCustom, TextCustom, ViewWrapper, } from "@/components"; import CopyButton from "@/components/Button/CoyButton"; import { MainColor } from "@/constants/color-palet"; import DIRECTORY_ID from "@/constants/directory-id"; import { apiInvestmentGetInvoice, apiInvestmentUpdateInvoice, } from "@/service/api-client/api-investment"; import { uploadFileService } from "@/service/upload-service"; import { formatCurrencyDisplay } from "@/utils/formatCurrencyDisplay"; import pickFile, { IFileData } from "@/utils/pickFile"; import { router, useFocusEffect, useLocalSearchParams } from "expo-router"; import { useCallback, useState } from "react"; import { View } from "react-native"; import Toast from "react-native-toast-message"; export default function Investment_ScreenInvoice() { const { id } = useLocalSearchParams(); const [data, setData] = useState({}); const [image, setImage] = useState({ name: "", uri: "", size: 0, }); const [isLoading, setIsLoading] = useState(false); useFocusEffect( useCallback(() => { onLoadData(); }, [id]) ); const onLoadData = async () => { try { const response = await apiInvestmentGetInvoice({ id: id as string, category: "invoice", }); setData(response.data); } catch (error) { console.log("[ERROR]", error); } }; const handlerSubmitUpdate = async () => { try { setIsLoading(true); const responseUploadImage = await uploadFileService({ dirId: DIRECTORY_ID.investasi_bukti_transfer, imageUri: image?.uri, }); if (!responseUploadImage?.data?.id) { Toast.show({ type: "error", text1: "Gagal mengunggah bukti transfer", }); return; } const response = await apiInvestmentUpdateInvoice({ id: id as string, data: { imageId: responseUploadImage?.data?.id, }, status: "proses", }); if (response.success) { Toast.show({ type: "success", text1: "Berhasil mengunggah bukti transfer", }); router.push(`/investment/${id}/(transaction-flow)/process`); } } catch (error) { console.log("[ERROR]", error); } finally { setIsLoading(false); } }; return ( <> Bank {data?.MasterBank?.namaBank} Nama Akun {data?.MasterBank?.namaAkun} {data?.MasterBank?.norek} Jumlah Transaksi Rp. {formatCurrencyDisplay(data?.nominal)} Upload bukti transfer anda. {image ? ( {image?.name} ) : ( Tidak ada gambar yang diunggah )} { pickFile({ allowedType: "image", setImageUri(file: any) { setImage(file); }, }); }} icon="upload" > Upload { handlerSubmitUpdate(); }} > Saya Sudah Transfer ); }