/* eslint-disable react-hooks/exhaustive-deps */ import { AlertDefaultSystem, BoxButtonOnFooter, TextAreaCustom, ViewWrapper, } from "@/components"; import AdminBackButtonAntTitle from "@/components/_ShareComponent/Admin/BackButtonAntTitle"; import AdminButtonReject from "@/components/_ShareComponent/Admin/ButtonReject"; import { apiAdminInvestasiUpdateByStatus, apiAdminInvestmentDetailById } from "@/service/api-admin/api-admin-investment"; import { router, useFocusEffect, useLocalSearchParams } from "expo-router"; import { useCallback, useState } from "react"; import Toast from "react-native-toast-message"; export default function AdminInvestmentRejectInput() { const { id, status } = useLocalSearchParams(); console.log("[STATUS]", status); const [value, setValue] = useState(null); const [isLoading , setLoading] = useState(false) useFocusEffect( useCallback(() => { onLoadData(); }, [id]) ); const onLoadData = async () => { try { const response = await apiAdminInvestmentDetailById({ id: id as string }); console.log("[DATA]", JSON.stringify(response, null, 2)); if (response.success) { setValue(response.data?.catatan); } } catch (error) { console.log(error); } }; const handlerSubmit = async () => { if (!value) { Toast.show({ type: "error", text1: "Harap masukan alasan penolakan", }); return; } try { setLoading(true) const response = await apiAdminInvestasiUpdateByStatus({ id: id as string, status: "reject", data: value, }); console.log("[RESPONSE]", JSON.stringify(response, null, 2)); if (!response.success) { Toast.show({ type: "error", text1: "Gagal melakukan report", }); return; } Toast.show({ type: "success", text1: "Berhasil melakukan report", }); if (status === "review") { router.replace(`/admin/investment/reject/status`); } else { router.back(); } } catch (error) { console.error(["ERROR"], error); } finally { setLoading(false) } }; const buttonSubmit = ( AlertDefaultSystem({ title: "Reject", message: "Apakah anda yakin ingin menolak data ini?", textLeft: "Batal", textRight: "Ya", onPressRight: () => { handlerSubmit(); }, }) } /> ); return ( <> } > ); }