/* eslint-disable react-hooks/exhaustive-deps */ import { BackButton, BaseBox, DotButton, DrawerCustom, Grid, MenuDrawerDynamicGrid, StackCustom, TextCustom, ViewWrapper, } from "@/components"; import { IconDocument, IconEdit, IconNews } from "@/components/_Icon"; import { IMenuDrawerItem } from "@/components/_Interface/types"; import { MainColor } from "@/constants/color-palet"; import { ICON_SIZE_MEDIUM } from "@/constants/constans-value"; import { useAuth } from "@/hooks/use-auth"; import Invesment_ComponentBoxOnBottomDetail from "@/screens/Invesment/ComponentBoxOnBottomDetail"; import Invesment_DetailDataPublishSection from "@/screens/Invesment/DetailDataPublishSection"; import { apiInvestmentGetInvoice } from "@/service/api-client/api-investment"; import { formatCurrencyDisplay } from "@/utils/formatCurrencyDisplay"; import { AntDesign, MaterialIcons } from "@expo/vector-icons"; import { router, Stack, useFocusEffect, useLocalSearchParams } from "expo-router"; import _ from "lodash"; import { useCallback, useState } from "react"; export default function InvestmentDetailHolding() { const { user } = useAuth(); const { id, status } = useLocalSearchParams(); const [openDrawerDraft, setOpenDrawerDraft] = useState(false); const [openDrawerPublish, setOpenDrawerPublish] = useState(false); const [data, setData] = useState(null); useFocusEffect( useCallback(() => { onLoadData(); }, [id, status]) ); const onLoadData = async () => { try { const response = await apiInvestmentGetInvoice({ id: id as string, authorId: user?.id, category: "invoice", }); console.log("[DATA]", JSON.stringify(response.data, null, 2)); setData(response.data); } catch (error) { console.log("[ERROR]", error); } }; const handlePressDraft = (item: IMenuDrawerItem) => { console.log("PATH >> ", item.path); router.navigate(item.path as any); setOpenDrawerDraft(false); }; const handlePressPublish = (item: IMenuDrawerItem) => { console.log("PATH >> ", item.path); router.navigate(item.path as any); setOpenDrawerPublish(false); }; const bottomSection = ( ); return ( <> , headerRight: () => status === "draft" ? ( setOpenDrawerDraft(true)} /> ) : status === "publish" ? ( setOpenDrawerPublish(true)} /> ) : null, }} /> Nilai Transaksi Rp. {data ? formatCurrencyDisplay(data?.nominal) : ""} Saham Terbeli {data ? data?.lembarTerbeli : ""} Lembar {/* ========= Draft Drawer ========= */} setOpenDrawerDraft(false)} height={"auto"} > , label: "Edit Data", path: `/investment/${id}/edit`, }, { icon: ( ), label: "Edit Prospektus", path: `/investment/${id}/edit-prospectus`, }, { icon: ( ), label: "Update Dokumen", path: `/investment/${id}/recap-of-document`, }, ]} columns={4} onPressItem={handlePressDraft as any} /> {/* ========= Publish Drawer ========= */} setOpenDrawerPublish(false)} height={"auto"} > , label: "Update Dokumen", path: `/investment/${id}/recap-of-document`, }, { icon: , label: "Update Berita", path: `/investment/${id}/(news)/recap-of-news`, }, ]} onPressItem={handlePressPublish as any} /> ); }