/* eslint-disable react-hooks/exhaustive-deps */ import { ActionIcon, LoaderCustom, SearchInput, StackCustom, TextCustom, ViewWrapper } from "@/components"; import AdminComp_BoxTitle from "@/components/_ShareComponent/Admin/BoxTitlePage"; import AdminTitleTable from "@/components/_ShareComponent/Admin/TableTitle"; import AdminTableValue from "@/components/_ShareComponent/Admin/TableValue"; import AdminTitlePage from "@/components/_ShareComponent/Admin/TitlePage"; import NoDataText from "@/components/_ShareComponent/NoDataText"; import { ICON_SIZE_BUTTON } from "@/constants/constans-value"; import { apiAdminInvestment } from "@/service/api-admin/api-admin-investment"; import { Octicons } from "@expo/vector-icons"; import { router, useFocusEffect, useLocalSearchParams } from "expo-router"; import _ from "lodash"; import React, { useCallback } from "react"; import { Divider } from "react-native-paper"; export default function AdminInvestmentStatus() { const { status } = useLocalSearchParams(); console.log("[STATUS]", status); const [listData, setListData] = React.useState(null); const [loadData, setLoadingData] = React.useState(false); const [search, setSearch] = React.useState(""); useFocusEffect( useCallback(() => { onLoadData(); }, [status, search]) ); const onLoadData = async () => { try { setLoadingData(true); const response = await apiAdminInvestment({ category: status as "publish" | "review" | "reject", search, }); console.log("[LIST DATA]", JSON.stringify(response, null, 2)); if (response.success) { setListData(response.data); } } catch (error) { console.log(error); setListData([]); } finally { setLoadingData(false); } }; const rightComponent = ( ); return ( <> }> {loadData ? ( ) : _.isEmpty(listData) ? ( ) : ( listData?.map((item: any, index: number) => ( } onPress={() => { router.push(`/admin/investment/${item.id}/${status}`); }} /> } value2={{item?.author?.username}} value3={ {item?.title} } /> )) )} ); }