/* 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 { ICON_SIZE_BUTTON } from "@/constants/constans-value"; import { apiAdminEvent } from "@/service/api-admin/api-admin-event"; import { Octicons } from "@expo/vector-icons"; import { router, useFocusEffect, useLocalSearchParams } from "expo-router"; import _ from "lodash"; import { useCallback, useState } from "react"; import { Divider } from "react-native-paper"; export default function AdminEventStatus() { const { status } = useLocalSearchParams(); console.log("[STATUS EVENT]", status); const [listData, setListData] = useState(null); const [loadData, setLoadData] = useState(false); const [search, setSearch] = useState(""); useFocusEffect( useCallback(() => { onLoadData(); }, [status, search]) ); const onLoadData = async () => { try { setLoadData(true); const response = await apiAdminEvent({ category: status as "publish" | "review" | "reject" | "history" as any, search, }); console.log( `[RES LIST BY STATUS: ${status}]`, JSON.stringify(response, null, 2) ); if (response.success) { setListData(response.data); } } catch (error) { console.log("[ERROR]", error); } finally { setLoadData(false); } }; const rightComponent = ( setSearch(value)} /> ); return ( <> }> {loadData ? ( ) : _.isEmpty(listData) ? ( Belum ada data ) : ( listData?.map((item, index) => ( } onPress={() => { router.push(`/admin/event/${item.id}/${status}`); }} /> } value2={ {item?.Author?.username || "-"} } value3={ {item?.title || "-"} } /> )) )} ); }